我在OleDb执行以下代码时得到的错误
Try
con.Open()
Dim cmd As New OleDbCommand("Select * from customer", con)
cmd.CommandText = " update customer set hr =@hr,min =@min "
cmd.Parameters.AddWithValue("@hr", ComboBoxHr.SelectedIndex.ToString())
cmd.Parameters.AddWithValue("@min", ComboBoxMin.SelectedIndex.ToString())
cmd.ExecuteNonQuery()
TwoDigit(ComboBoxHr)
MessageBox.Show("CONRATULATIONS! ...Click the Start button to see the changes")
Catch ex As Exception
MessageBox.Show(ex.Message.ToString())
End Try
如果我删除“min”部分,哪个工作正常。 可能是什么原因?
答案 0 :(得分:2)
MIN
是SQL中的关键字(它是用于查找一组值的最小值的聚合函数)。您可以为列使用其他名称,也可以将其括在[
方括号]
中 - 我实际上不确定这是否适用于Access,请注意......
答案 1 :(得分:2)
我相信AakashM是对的。但是,您可以使用关键字作为列名,只要将其放在[]中
即可Try
con.Open()
Dim cmd As New OleDbCommand("Select * from customer", con)
cmd.CommandText = " update customer set hr =@hr,[min] =@min "
cmd.Parameters.AddWithValue("@hr", ComboBoxHr.SelectedIndex.ToString())
cmd.Parameters.AddWithValue("@min", ComboBoxMin.SelectedIndex.ToString())
cmd.ExecuteNonQuery()
TwoDigit(ComboBoxHr)
MessageBox.Show("CONRATULATIONS! ...Click the Start button to see the changes")
Catch ex As Exception
MessageBox.Show(ex.Message.ToString())
End Try