dim Conn As ADODB.Connection '定义一个数据连接
dim Rst As ADODB.Recordset '定义一个数据集对象(1)请提供一下,这两个变量打开、关闭的代码
(2)如果用Rst为一个DATAGRID提供数据,当Rst数据源的数据发生变化时,如何刷新Rst和DATAGRID中显示的数据。
dim Rst As ADODB.Recordset '定义一个数据集对象(1)请提供一下,这两个变量打开、关闭的代码
(2)如果用Rst为一个DATAGRID提供数据,当Rst数据源的数据发生变化时,如何刷新Rst和DATAGRID中显示的数据。
http://www.timesheetsmts.com/adotutorial.htm
http://www.vb6.us/tutorials/database-access-ado-vb6-tutorial
Open 和 Close 方法范例 (VB)
本范例在已打开的 Recordset 和 Connection 对象上使用 Open 和 Close 方法。'BeginOpenVB 'To integrate this code
'replace the data source and initial catalog values
'in the connection stringPublic Sub OpenX()
On Error GoTo ErrorHandler Dim Cnxn As ADODB.Connection
Dim rstEmployees As ADODB.Recordset
Dim strCnxn As String
Dim strSQLEmployees As String
Dim varDate As Variant
' Open connection
strCnxn = "Provider='sqloledb';Data Source='MySqlServer';" & _
"Initial Catalog='Pubs';Integrated Security='SSPI';"
Set Cnxn = New ADODB.Connection
Cnxn.Open strCnxn
' Open employee table
Set rstEmployees = New ADODB.Recordset
strSQLEmployees = "employee"
rstEmployees.Open strSQLEmployees, Cnxn, adOpenKeyset, adLockOptimistic, adCmdTable
' Assign the first employee record's hire date
' to a variable, then change the hire date
varDate = rstEmployees!hire_date
Debug.Print "Original data"
Debug.Print " Name - Hire Date"
Debug.Print " " & rstEmployees!fname & " " & _
rstEmployees!lname & " - " & rstEmployees!hire_date
rstEmployees!hire_date = #1/1/1900#
rstEmployees.Update
Debug.Print "Changed data"
Debug.Print " Name - Hire Date"
Debug.Print " " & rstEmployees!fname & " " & _
rstEmployees!lname & " - " & rstEmployees!hire_date
' Requery Recordset and reset the hire date
rstEmployees.Requery
rstEmployees!hire_date = varDate
rstEmployees.Update
Debug.Print "Data after reset"
Debug.Print " Name - Hire Date"
Debug.Print " " & rstEmployees!fname & " " & _
rstEmployees!lname & " - " & rstEmployees!hire_date ' clean up
rstEmployees.Close
Cnxn.Close
Set rstEmployees = Nothing
Set Cnxn = Nothing
Exit Sub
ErrorHandler:
' clean up
If Not rstEmployees Is Nothing Then
If rstEmployees.State = adStateOpen Then rstEmployees.Close
End If
Set rstEmployees = Nothing
If Not Cnxn Is Nothing Then
If Cnxn.State = adStateOpen Then Cnxn.Close
End If
Set Cnxn = Nothing
If Err <> 0 Then
MsgBox Err.Source & "-->" & Err.Description, , "Error"
End If
End Sub
'EndOpenVB
Dim rs As ADODB.RecordsetPrivate Sub Form_Load()
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.CursorLocation = adUseClient
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\tt\t1.mdb;Persist Security Info=False"
rs.Open "select * from a", cn, adOpenStatic, adLockOptimistic
If rs.RecordCount > 0 Then
Set DataGrid1.DataSource = rs
End If
End SubPrivate Sub Command1_Click()
Call rs.Requery
End SubPrivate Sub Form_Unload(Cancel As Integer)
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
End Sub
Dim LoadSql As String
Dim ConnSql As String
Dim LoadRs As New ADODB.Recordset
Dim SqlConn As New ADODB.ConnectionPrivate Sub cmdLoadData_Click()
On Error GoTo eNext:
If SqlConn.State = 1 Then SqlConn.Close
ConnSql = "Provider=OraOLEDB.Oracle.1;Persist Security Info=True;User ID=iqms;Password=iqms;Data Source=iqora" SqlConn.ConnectionString = ConnSql
SqlConn.Open
LoadSql = "SELECT * FROM ARINVT WHERE CLASS='FG'"
If LoadRs.State = 1 Then LoadRs.Close
LoadRs.Open LoadSql, SqlConn, adOpenKeyset, adLockOptimistic
If Not LoadRs.EOF Then
Set MSHFlexGrid1.DataSource = LoadRs
Else
'Your function code
End If
Exit Sub
eNext:
MsgBox Err.Description, vbCritical, Err.Number
End Sub