vb.net - 当我只更新 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
解决方案
推荐阅读
- r - 循环遍历小标题中的行时创建新变量
- ssl - Nginx 没有正确转发我的 SSL WebSockets 连接?
- html - 为什么 `position: fixed;` 修复了明显的问题?
- sequelize.js - 在 sequelize where 中使用用户输入作为列名是否安全?
- c++ - c++中的词法分析器
- visual-studio - Subversion/Ankhsvn:如何将状态从“已复制和修改”更改为已添加
- python - 操作文本文件并在 python 中创建一个新文件
- reactjs - 谷歌地图的 React js 中的状态没有更新
- sql - 加入 Access 2016 中具有最大值的行
- java - 在 Arrays.reduce(...) 中调用对象方法