Vb.net 为什么更新Access数据库时我的记录变得相同?
为什么我的DataGridView显示的值与我在所有记录(行)中输入的值相同?例如,我在Access中有12条记录,但当我尝试更新该记录时,该记录会被保存和更改,但它会应用于所有12条记录,而不仅仅是我选择的记录 MemberID名字Vb.net 为什么更新Access数据库时我的记录变得相同?,vb.net,Vb.net,为什么我的DataGridView显示的值与我在所有记录(行)中输入的值相同?例如,我在Access中有12条记录,但当我尝试更新该记录时,该记录会被保存和更改,但它会应用于所有12条记录,而不仅仅是我选择的记录 MemberID名字 0001谭宝云 0002谭宝云 0003谭宝云 0004谭宝云 0005谭宝云 0006谭宝云 0007谭宝云 0008谭宝云 0009谭宝云 0010谭宝云 0011谭宝云 0012谭宝云 这是我的代码: Private Sub bttnSave_Click(s
0001谭宝云
0002谭宝云
0003谭宝云
0004谭宝云
0005谭宝云
0006谭宝云
0007谭宝云
0008谭宝云
0009谭宝云
0010谭宝云
0011谭宝云
0012谭宝云 这是我的代码:
Private Sub bttnSave_Click(sender As Object, e As EventArgs) Handles bttnSave.Click
i = MemberDataGridView.CurrentRow.Index
searchmemberID.Text = MemberDataGridView.Item(0, i).Value
txtMemberName.Text = MemberDataGridView.Item(1, i).Value
MemberGender.Text = MemberDataGridView.Item(2, i).Value
MEMBERIC.Text = MemberDataGridView.Item(3, i).Value
MemberEmail.Text = MemberDataGridView.Item(4, i).Value
MemberHandphone.Text = MemberDataGridView.Item(5, i).Value
MemberAddress.Text = MemberDataGridView.Item(6, i).Value
txtMemberName.Enabled = True
MemberEmail.Enabled = True
MemberHandphone.Enabled = True
MemberAddress.Enabled = True
Dim com As OleDbCommand
com = New OleDbCommand("Update Member set [FirstName] =@sno", acsconn)
com.Parameters.AddWithValue("@sno", txtMemberName.Text)
com.ExecuteNonQuery()
MsgBox("Record Saved")
因为您错过了SQL中的
where
子句。如果没有where
子句,它将更新所有记录。你可以这样做:
UPDATE table_name SET column1=value1 WHERE some_column=some_value;
问题出在您的代码中,而不是数据中我知道,但我不知道如何解决它,您能帮我吗?您需要SQL中的WHERE子句-这是一个联机的see也谢谢^^^我会尝试,因为您错过了SQL中的WHERE子句。如果没有where子句,它将更新所有记录。示例:更新更新表\u name SET column1=value1,其中某些\u列=some\u值;com=New OleDbCommand(“更新成员集[FirstName]=@sno WHERE MemberID='”&searchmemberID.Text&“”,acsconn)请在这里发布您的查询@Snowishcom=New OleDbCommand(“更新成员集[FirstName]=@sno WHERE MemberID='”&searchmemberID.Text&“”,acsconn)是MemberID interger?您确定成员ID不是interger数据类型吗