'声名
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset'代码
’连接数据库
Dim strstr = App.PathIf Right(str, 1) <> "\" Thenstr = str + "\"End Ifstr = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & str & "\dsystem.mdb"conn.Open strrs.CursorLocation = adUseClientrs.Open "xt", conn, adOpenKeyset, adLockPessimistic
rs.Close
'显示全部内容
Dim rs1 As New ADODB.Recordset
rs1.CursorLocation = adUseClient
rs1.Open "select * from xt", conn, adOpenKeyset, adLockReadOnly Set DataGrid1.DataSource = rs1
DataGrid1.Refresh
这段程序是我在网上找的一个简单数据库连接程序的部分内容,在他的程序里能正常使用,到我这里,就出错,错误在“显示全部内容里”的“Set DataGrid1.DataSource = rs1”这一句上,
错误提示:“实时错误91 对象变量或with块变量未设置”,点了结束后又提示“运行时错误440,应用程序定义或对象定义错误”
有哪位能给解释下原因啊?
刚刚学用这种方式连接数据库,原来都是直接用VB加ACCESS加DATA进行数据管理
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset'代码
’连接数据库
Dim strstr = App.PathIf Right(str, 1) <> "\" Thenstr = str + "\"End Ifstr = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & str & "\dsystem.mdb"conn.Open strrs.CursorLocation = adUseClientrs.Open "xt", conn, adOpenKeyset, adLockPessimistic
rs.Close
'显示全部内容
Dim rs1 As New ADODB.Recordset
rs1.CursorLocation = adUseClient
rs1.Open "select * from xt", conn, adOpenKeyset, adLockReadOnly Set DataGrid1.DataSource = rs1
DataGrid1.Refresh
这段程序是我在网上找的一个简单数据库连接程序的部分内容,在他的程序里能正常使用,到我这里,就出错,错误在“显示全部内容里”的“Set DataGrid1.DataSource = rs1”这一句上,
错误提示:“实时错误91 对象变量或with块变量未设置”,点了结束后又提示“运行时错误440,应用程序定义或对象定义错误”
有哪位能给解释下原因啊?
刚刚学用这种方式连接数据库,原来都是直接用VB加ACCESS加DATA进行数据管理
DataGrid1.Refresh他用的是DATAGRID控件
我用的是MSFLEXGRID控件
是不是这方面的原因么?
1, OLEDB.3.51改成OLEDB.4.0
2, rs.Open "xt", conn, adOpenKeyset, adLockPessimistic
改成 rs.Open "select * from xt", conn, adOpenKeyset, adLockPessimistic
原来就是使用的控件的事。
MSFlexGrid控件是捆绑DAO的,
MSHFlexGrid控件才是捆绑ADO的。
改用 MSHFlexGrid后,调试通过。
谢谢leftie的热心帮忙!