我无法更新记录。我不知道什么似乎是问题。点击更新后似乎没有出现错误。这是我的代码。
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Charles\Documents\Database1.accdb"
Dim cmd As String
cmd = "UPDATE Employee SET EmployeeName = @eName, SSS = @SSS, TIN = @TIN, ED = @ED, Salary = @Salary WHERE EmployeeName = @eName"
Dim cmdUpdate As New OleDbCommand(cmd, conn)
enableTxtBox()
If btnEdit.Text = "Edit" Then
btnEdit.Text = "Update"
Else
btnEdit.Text = "Edit"
Try
conn.Open()
cmdUpdate.Parameters.AddWithValue("@eName", txtName.Text)
cmdUpdate.Parameters.AddWithValue("@SSS", txtSSS.Text)
cmdUpdate.Parameters.AddWithValue("@TIN", txtTIN.Text)
cmdUpdate.Parameters.AddWithValue("@ED", dtpED)
cmdUpdate.Parameters.AddWithValue("@Salary", txtSalary.Text)
cmdUpdate.ExecuteNonQuery()
fillListView()
clearAll()
disableTxtBox()
Catch ex As Exception
MsgBox(ex.Message)
End Try
conn.Close()
End If
答案 0 :(得分:0)
cmdUpdate.Parameters.AddWithValue("@ED", dtpED)
假设dtpED
是DateTimePicker
控件,您可能希望将该参数设置为dtpED.Value
(即在控件中选择的日期),而不是dtpED
控制自己:
cmdUpdate.Parameters.AddWithValue("@ED", dtpED.Value)
'^^^^^^'
顺便说一句,我假设cmdUpdate.ExecuteNonQuery()
语句实际到达并执行了。由于btnEdit.Text
的条件检查,您的答案并不清楚。 (如果该按钮标记为编辑,则必须运行代码两次以获取命令执行代码,因为一旦进入Then
子句,{{1}即使您更改了属于Else
条件的btnEdit.Text
,也会始终跳过}子句。)