Private gCon As ADODB.Connection 'ACCESS数据库文件的名称
Private gRst As ADODB.Recordset  '数据库连接对象
Private gFile As String          '数据库集合对象Private Sub cmdModify_Click()       '修改姓名和手机号
End SubPrivate Sub cmdConfirm_Click()
Set gCon3 = New ADODB.Connection
     Set gRst3 = New ADODB.Recordset
    
     gCon3.Open strSOL
     gRst3.Open "select * from Linkman", gCon3, adOpenDynamic, adLockOptimistic gRst.Fields!姓名 = txtName
     gRst.Fields!手机 = txtMobile    
     gRst.Update
gRst.Requery
     Adodc1.Refresh
     DataGrid1.Refresh    
     MsgBox "保存成功", vbOKOnly, "提示"
End SubPrivate Sub Form_Load()
If Adodc1.Recordset.RecordCount = 0 Then
         txtName.Text = ""
         txtMobile.Text = ""
     Else
         txtName.Text = nz(Adodc1.Recordset.Fields(0).Value, "")
         txtMobile.Text = nz(Adodc1.Recordset.Fields(4).Value, "")
     End If
End Sub
由于不想在修改和添加的时候影响到datagrid中的数据,所以没有将txtName、txtMobile和adodc1绑定。
为什么修改之后无法保存到datagrid1中黑三角所在的行,却覆盖了别的行?
在对数据库的修改和填写时
txtName.Text = nz(Adodc1.Recordset.Fields(0).Value, "") 可以显示Adodc1.Recordset.Fields(0).Value的值,但Adodc1.Recordset.Fields(0).Value = nz(txtName.Text, "") 
Adodc1.Recordset.Fields(0).Value却无法保存txtName.Text的值
这是为什么呢?