首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB用ADO对象编程的有关问题

2013-07-11 
VB用ADO对象编程的问题要操作access里的几个表,我准备只用一个connection可以不?下面是datagrid的初始化显

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


然后我主界面需要显示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
  

其它看起来没有什么大问题

热点排行