到目前为止,我一直在尝试更新此记录近 3 天,在整个 Internet 上四处游荡,找不到任何对我有帮助的东西,尝试了所有解决方案,但一无所获。
我想更新一条记录,表单名为search form
,表由 8 列组成,其中student_id
是一个自动编号,所以我没有搞砸它。
这是我想出的最后一个,它仍然无法正常工作,它突出显示executenonquery()
并在按下按钮后给出错误消息,上面写着no values where given to one or more required parameters
......
Dim con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Anton\Desktop\LoginDatabase\Users.mdb")
con.Open()
sql = "update salary set [empname]=?,[department]=?,[date1]=?, [accname]= ?,[accnumber]=?,[backname]=?,[rate]=?,[house]=?,[electricity]=?,[travel]=?, [hardship]= ?,[health]=?,[nhif]=?,[nssf]=?,[insurence]=?,[loan]=?,[welfare]=? where empno = ?"
Dim cmd As New OleDb.OleDbCommand(sql, con)
cmd.Parameters.AddWithValue("@empname", TextBox2.Text)
cmd.Parameters.AddWithValue("@department", TextBox3.Text)
cmd.Parameters.AddWithValue("@date1", DateTimePicker1.Value)
cmd.Parameters.AddWithValue("@accname", TextBox4.Text)
cmd.Parameters.AddWithValue("@accnumber", TextBox5.Text)
cmd.Parameters.AddWithValue("@bankname", TextBox6.Text)
cmd.Parameters.AddWithValue("@rate", TextBox7.Text)
cmd.Parameters.AddWithValue("@house", TextBox8.Text)
cmd.Parameters.AddWithValue("@electricity", TextBox9.Text)
cmd.Parameters.AddWithValue("@travel", TextBox10.Text)
cmd.Parameters.AddWithValue("@hardship", TextBox11.Text)
cmd.Parameters.AddWithValue("@health", TextBox12.Text)
cmd.Parameters.AddWithValue("@nhif", TextBox13.Text)
cmd.Parameters.AddWithValue("@nssf", TextBox14.Text)
cmd.Parameters.AddWithValue("@insurence", TextBox15.Text)
cmd.Parameters.AddWithValue("@loan", TextBox16.Text)
cmd.Parameters.AddWithValue("@welfare", TextBox17.Text)
cmd.Parameters.AddWithValue("@empno", TextBox1.Text)
Try
cmd.ExecuteNonQuery()
cmd.Dispose()
MsgBox("updated")
Catch ex As Exception
MsgBox(ex.Message)
End Try