当前位置:编程学习 > VB >>

adopenkeyset , adlockoptmistic时find 的应用

在用VB与SQL设计程序时,用ADO方式连接数据库,recordset集生成时,第3,4个参数值是adopenkeyset , adlockoptmistic
不无用find,无法用updata,请问如何解决这个问题?
--------------------编程问答-------------------- 说清楚具体一点 --------------------编程问答-------------------- adLockOptimistic 你拼错了,以后要注意,拼对的话该大写的地方会自动大写


'工程引用Microsoft ActiveX Data Objects 2.5 Library
'添加 Command1

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 Sub

--------------------编程问答-------------------- 改为

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 

--------------------编程问答-------------------- 这里有一个详细一点的说明,感兴趣的话可以去看一下
http://www.16boke.cn/article.asp?id=91
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,