首页 > 解决方案 > 当我只更新 1 条记录 MS Access 时,所有记录都已更新

问题描述

因此,当我单击Confirm按钮时,它应该只更新 1 行,但所有行都更新为相同的值。我知道我做错了什么,因为这段代码适用于我的其他表。VB.net 没有给出错误。

Dim provider As String
Dim connString As String
Dim myConnection As OleDbConnection = New OleDbConnection

Private Sub btnConfirm_Click(sender As Object, e As EventArgs) Handles btnConfirm.Click
        Dim result As DialogResult = MessageBox.Show("Are the data correct?",
                                                         "Confirm", MessageBoxButtons.YesNo,
                                                         MessageBoxIcon.Question)
        If result = DialogResult.Yes Then

            provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\user\Desktop\PU\SEMESTER 4\Visual Programming\Hospital Databases\Patient DB.accdb"
            connString = provider
            myConnection.ConnectionString = connString
            myConnection.Open()
            Dim str As String = "UPDATE [Nurse] SET [NurseName] = @NurseName, [Dept] = @Dept, [Gender] = @Gender, [Shift] = @Shift WHERE [ID] = @ID"
            Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)

            cmd.Parameters.AddWithValue("@NurseName", txtName.Text)
            cmd.Parameters.AddWithValue("@Dept", txtDept.Text)
            cmd.Parameters.AddWithValue("@Gender", txtGender.Text)
            cmd.Parameters.AddWithValue("@Shift", txtShift.Text)
            cmd.Parameters.AddWithValue("@ID", txtID.Text)

            cmd.ExecuteNonQuery()
            cmd.Dispose()
            myConnection.Close()
        End If
End Sub

标签: vb.netms-accessoledb

解决方案


推荐阅读