Я получил OleDbException, в котором говорится, что «отсутствует точка с запятой (;) в конце инструкции SQL». Я запутался, правильно ли утверждение UPDATE или нет. В моем коде я проверяю оператор обновления с помощью кнопки. Может кто-нибудь помочь мне? Я хочу добавить 1 к переменной, чтобы увеличить ее значение; количество бутылок. Я использую базу данных Microsoft Access. Первичный идентификатор — это ID, а уникальный — room_number.
Это мой код:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'====test number of bottles=============
Dim bottlecount As Integer 'variable used in order to increase the value of no. of bottle/s used
bottlecount = Form3.lblBottle.Text
bottlecount += 1
Form3.lblBottle.Text = bottlecount
roomhold = 1
Dim statement As String = "UPDATE tblPatientInfo SET bottle_used='" & bottlecount & "' WHERE room_number= '" & roomhold & "' ORDER BY ID ;"
Dim cmd As New OleDbCommand
With cmd
.CommandText = statement
.Connection = Conn
Conn.Open()
.ExecuteNonQuery()
End With
Conn.Close()
End Sub
===после применения изменений========== Это мой код:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim bottlecount As Integer = CInt(Form3.lblBottle.Text) + 1
Form3.lblBottle.Text = bottlecount
roomhold = 1
Dim statement As String = "UPDATE tblPatientInfo SET bottle_used = @bottlecount"
statement &= "WHERE room_number = @roomhold"
Dim cmd As New OleDbCommand
With cmd
.Connection = Conn
.CommandType = CommandType.Text
.CommandText = statement
.Parameters.AddWithValue("@bottlecount", bottlecount)
.Parameters.AddWithValue("@roomhold", roomhold)
Conn.Open()
.ExecuteNonQuery()
End With
Соединение.Закрыть()
Любая помощь будет оценена по достоинству. Спасибо!