2015-09-15 4 views
1

Ниже приведено использование моего кода для данных обновления в моей базе данных. Поэтому я могу установить статус моей базы данных в true или false (отметьте и не отметили в моей базе данных). то мне нужно добавить еще один идентификатор студента в оператор, поэтому, когда я вставляю идентификатор студента, я также вставляю и устанавливаю статус в моей базе данных в true. когда я ввожу идентификатор stundet в кодировку, он не может работать. но когда я удалю его и запустим статус размещения обновления в true, он будет запущен. Поэтому я думаю, что есть проблема в безусловной части id.Ошибка vb.net при попытке вставить 2 инструкции

cmdUpdate.CommandText = "UPDATE Accommodation SET Status = True , Student_ID = '" & txttp.Text & "' WHERE Unit_ID = " & txtunitid.Text & ";" 

ответ

2

Во-первых, вы должны установить статус 1, а не True.

Во-вторых, вы должны использовать SqlParameters. В противном случае вы разрешите кому-либо атаковать вашу базу данных с помощью SQL Injection.

cmdUpdate.Parameters.Add(new SqlParameter("@StudentId", txttp.Text)); 
cmdUpdate.Parameters.Add(new SqlParameter("@UnitId", txtunitid.Text)); 
cmdUpdate.CommandText = "UPDATE Accommodation SET Status = 1 , Student_ID = @StudentId WHERE Unit_ID = @UnitId;" 
+0

хорошо .. это легкое назначение, назначенное tho, мой учитель dont научит меня этим sql-вещам, поэтому мы, в основном, подключаем базу данных, созданную Microsoft, для доступа к vb.net. я попробовал установить статус 1, но он не работал, пока я не заменил 1 на true. – user63566

+0

Посмотрите, сможете ли вы найти фактическое сообщение об ошибке и опубликовать его –

+0

Он говорит, что значение не указано для одного или нескольких требуемых параметров. я попробовал поставить «Правда», но он не может работать также – user63566

Смежные вопросы