Dim mDbfName As StringPrivate Const DBFNAME = "contract.mdb"Public pAdoCn As ADODB.Connection '全局的数据库连接对象
Public Function OpenDb(ByRef cn As ADODB.Connection) As Boolean
'''本过程打开数据库,可在关闭之后重新打开
#If Not DEBUGFLAG Then
On Error GoTo Errorhandle
#End If
GetDbInfor
Set pAdoCn = New ADODB.Connection
cn.CursorLocation = adUseClient
Dim strCon As String
strCon = "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & mDbfName & ";"
cn.Open strCon
OpenDb = True
Exit Function
Errorhandle:
MsgBox "打开数据库错误:" & Err.Number & vbCrLf & Err.Description, vbCritical
End Function
Public Function OpenDb(ByRef cn As ADODB.Connection) As Boolean
'''本过程打开数据库,可在关闭之后重新打开
#If Not DEBUGFLAG Then
On Error GoTo Errorhandle
#End If
GetDbInfor
Set pAdoCn = New ADODB.Connection
cn.CursorLocation = adUseClient
Dim strCon As String
strCon = "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & mDbfName & ";"
cn.Open strCon
OpenDb = True
Exit Function
Errorhandle:
MsgBox "打开数据库错误:" & Err.Number & vbCrLf & Err.Description, vbCritical
End Function
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\VBTemp.mdb;Persist Security Info=False"
cn.CommandTimeout = 15
cn.Open
Set Rs = New ADODB.Recordset
StrSQL = "Select *From VBTempTable1"
Rs.Open StrSQL, cn, adOpenKeyset, adLockOptimistic'打开表1
do while not rs.eof
text1.text=rs("a") '表1中字段a的值给textbox
...
rs.movenext
loop
rs.colse
StrSQL = "Select *From VBTempTable2"'打开表2
Rs.Open StrSQL, cn, adOpenKeyset, adLockOptimistic
do while not rs.eof
text2.text=rs("b") '表2中字段b的值给textbox
...
rs.movenext
loop
rs.colse
Public Sub main()Dim conn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
‘步骤 1
conn.Open "DSN=pubs;uid=sa;pwd=;database=pubs"
‘步骤 2
Set cmd.ActiveConnection = conn
cmd.CommandText = "SELECT * from authors"
‘步骤 3
rs.CursorLocation = adUseClient
rs.Open cmd, , adOpenStatic, adLockBatchOptimistic
‘步骤 4
rs("au_lname").Properties("Optimize") = True
rs.Sort = "au_lname"
rs.Filter = "phone LIKE '415 5*'"
rs.MoveFirst
Do While Not rs.EOF
Debug.Print "Name: " & rs("au_fname") & " "; rs("au_lname") & _
"Phone: "; rs("phone") & vbCr
rs("phone") = "777" & Mid(rs("phone"), 5, 11)
rs.MoveNext
Loop‘步骤 5
conn.BeginTrans‘步骤 6 - A
On Error GoTo ConflictHandler
rs.UpdateBatch
On Error GoTo 0conn.CommitTransExit Sub‘ 步骤 6 - B
ConflictHandler:rs.Filter = adFilterConflictingRecords
rs.MoveFirst
Do While Not rs.EOF
Debug.Print "Conflict: Name: " & rs("au_fname"); " " & rs("au_lname")
rs.MoveNext
Loop
conn.Rollback
Resume NextEnd SubVisual Basic 教程到此结束。