VB用ADO对象编程的问题
要操作access里的几个表,我准备只用一个connection可以不?
下面是datagrid的初始化显示的问题
module1的部分代码:
Option Explicit
'变量什么的都已定义,这里省了
Public conn As New ADODB.Connection
Public rs1 As New ADODB.Recordset '报警故障表
Public rs2 As New ADODB.Recordset '实时显示表
Public rs3 As New ADODB.Recordset '历史数据表
Public rs4 As New ADODB.Recordset '数据采集表
Public rs5 As New ADODB.Recordset '数据显示表
Public rs6 As New ADODB.Recordset '设置信息表
Sub main()
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据采集.mdb;persist security info =false"
conn.Open connstr
conn.CursorLocation = adUseClient
If rs1.State = 1 Then rs1.Close
If rs2.State = 1 Then rs2.Close
If rs3.State = 1 Then rs3.Close
If rs4.State = 1 Then rs4.Close
If rs5.State = 1 Then rs5.Close
If rs6.State = 1 Then rs6.Close
Form2.Show '登陆界面
End Sub
然后我主界面需要显示3个表的数据,所以我在formload这里写的不知道行不行?formload部分代码:
Private Sub Form_Load()
'初始化报警显示表
rs1.Open "select* from 报警故障表", conn, adOpenKeyset, adLockOptimistic
Set DataGrid1.DataSource = rs1
'初始化实时显示表
rs2.Open "select* from 实时显示表", conn, adOpenKeyset, adLockOptimistic
Set DataGrid2.DataSource = rs2
'初始化历史数据表
rs3.Open "select* from 历史数据表", conn, adOpenKeyset, adLockOptimistic
Set DataGrid3.DataSource = rs3
end
? VB ADO对象
[解决办法]
本帖最后由 bcrun 于 2013-06-18 16:12:24 编辑 module1的部分代码:
Option Explicit
'变量什么的都已定义,这里省了
Public conn As New ADODB.Connection
Public rs1 As New ADODB.Recordset '报警故障表
Public rs2 As New ADODB.Recordset '实时显示表
Public rs3 As New ADODB.Recordset '历史数据表
Public rs4 As New ADODB.Recordset '数据采集表
Public rs5 As New ADODB.Recordset '数据显示表
Public rs6 As New ADODB.Recordset '设置信息表
Sub main()
conn.CursorLocation = adUseClient'这个要放在前面
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据采集.mdb;persist security info =false"
conn.Open connstr
'下面几行没有必要
’If rs1.State = 1 Then rs1.Close
‘、 If rs2.State = 1 Then rs2.Close
’ If rs3.State = 1 Then rs3.Close
' If rs4.State = 1 Then rs4.Close
' If rs5.State = 1 Then rs5.Close
' If rs6.State = 1 Then rs6.Close
Form2.Show '登陆界面
End Sub
Private Sub Form_Load()
'初始化报警显示表
rs1.Open "select* from 报警故障表", conn, adOpenKeyset, adLockOptimistic
Set DataGrid1.DataSource = rs1
'初始化实时显示表
rs2.Open "select* from 实时显示表", conn, adOpenKeyset, adLockOptimistic
Set DataGrid2.DataSource = rs2
'初始化历史数据表
rs3.Open "select* from 历史数据表", conn, adOpenKeyset, adLockOptimistic
Set DataGrid3.DataSource = rs3
end