Vb.net 更新记录失败

Vb.net 更新记录失败,vb.net,Vb.net,我更新记录有困难。我不知道是什么问题。单击“更新”后,似乎没有出现错误。这是我的密码 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,

我更新记录有困难。我不知道是什么问题。单击“更新”后,似乎没有出现错误。这是我的密码

    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
假设
dtpED
DateTimePicker
控件,您可能希望将该参数设置为
dtpED.Value
(即控件中选择的日期),而不是
dtpED
控件本身:

cmdUpdate.Parameters.AddWithValue("@ED", dtpED.Value)
                                             '^^^^^^'

顺便说一下,我在这里假设实际到达并执行了
cmdUpdate.ExecuteNonQuery()
语句。由于对
btnEdit.Text
的有条件检查,您的答案中不清楚这一点。(如果该按钮标记为“编辑”,则必须运行代码两次才能获得命令执行代码,因为一旦进入
Then
子句,则将始终跳过
Else
子句,即使您更改
btnEdit.Text
,这是
If
条件的一部分。)

您是说
更新失败,但您声称任何地方都没有报告错误。那么你怎么知道它失败了呢?对不起,我上周末在度假,所以我没能回复。。。如你所见,我试图了解是否会发生任何错误。。“但是”编辑某个记录时,该记录似乎没有更新。。。但是没有显示错误,所以我真的不知道我遗漏了什么代码
cmdUpdate.Parameters.AddWithValue("@ED", dtpED.Value)
                                             '^^^^^^'