私はこの記録をほぼ 3 日間更新しようとしてきましたが、インターネット中を探し回りましたが、私を助けるものは何も見つかりませんでした。すべての解決策を試しましたが、何も見つかりませんでした。
レコードを更新したいのですが、フォームは と呼ばれ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