在用VB与SQL设计程序时,用ADO方式连接数据库,recordset集生成时,第3,4个参数值是adopenkeyset , adlockoptmistic
不无用find,无法用updata,请问如何解决这个问题?

解决方案 »

  1.   

    adLockOptimistic 你拼错了,以后要注意,拼对的话该大写的地方会自动大写
    '工程引用Microsoft ActiveX Data Objects 2.5 Library
    '添加 Command1Option Explicit
    Dim i%, strSQL$
    Dim conn As Connection
    Dim rs As New ADODB.RecordsetPrivate Sub Form_Load()
       Set conn = New Connection
       conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & "c:\bwscale.mdb;Persist Security Info=False"
       strSQL = "select * from bwcust"
       rs.Open strSQL, conn, adOpenKeyset, adLockOptimistic
       If rs.RecordCount > 0 Then
          Combo1.Clear
          rs.MoveFirst
          For i = 0 To rs.RecordCount - 1
             Combo1.AddItem rs.Fields(0)
             rs.MoveNext
          Next i
       End If
    End SubPrivate Sub Command1_Click()
       rs.MoveFirst
       rs.Find "company = " & Chr(39) & "霸王衡器公司" & Chr(39)
       If Not rs.EOF Then MsgBox rs.Fields(0)
       rs.Fields(0) = "123"
       rs.Update
       MsgBox rs.Fields(0) '看到没有,两次的Fields(0)不同,表示Update成功了.
    End Sub
      

  2.   

    改为Option Explicit 
    Dim i%, strSQL$ 
    Dim conn As Connection 
    Dim rs As New ADODB.Recordset Private Sub Form_Load() 
       Set conn = New Connection 
       conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & "c:\bwscale.mdb;Persist Security Info=False" 
       strSQL = "select * from bwcust" 
       rs.Open strSQL, conn, adOpenKeyset, adLockOptimistic 
       If rs.RecordCount >  0 Then 
          Combo1.Clear 
          rs.MoveFirst 
          For i = 0 To rs.RecordCount - 1 
             Combo1.AddItem rs.Fields(0) 
             rs.MoveNext 
          Next i 
       End If 
    End Sub Private Sub Command1_Click() 
       rs.MoveFirst 
       rs.Find "company = " & Chr(39) & "霸王衡器公司" & Chr(39) 
       If Not rs.EOF Then
          MsgBox rs.Fields(0) 
          rs.Fields(0) = "123" 
          rs.Update 
          MsgBox rs.Fields(0) '看到没有,两次的Fields(0)不同,表示Update成功了. 
       End If
    End Sub 
      

  3.   

    这里有一个详细一点的说明,感兴趣的话可以去看一下
    http://www.16boke.cn/article.asp?id=91