我在模块中连接数据库,代码如下:
model模块中:Public conn As New ADODB.Connection
Sub Main()
Dim connstr
Set conn = New ADODB.Connection
Set conn = CreateObject("ADODB.Connection")
onnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\vb工程\xs.mdb;Persist Security Info=False"
conn.Open connstr
End Subform窗体中:Public rs As New ADODB.Recordset
Private Sub Command1_Click()
Set rs = conn.Execute("select * from class")
MsgBox "数据库连接成功"
End Sub编译提示错误:对象关闭时,不允许操作
出错语句是:Set rs = conn.Execute("select * from class")请问高手,这是怎么回事?
model模块中:Public conn As New ADODB.Connection
Sub Main()
Dim connstr
Set conn = New ADODB.Connection
Set conn = CreateObject("ADODB.Connection")
onnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\vb工程\xs.mdb;Persist Security Info=False"
conn.Open connstr
End Subform窗体中:Public rs As New ADODB.Recordset
Private Sub Command1_Click()
Set rs = conn.Execute("select * from class")
MsgBox "数据库连接成功"
End Sub编译提示错误:对象关闭时,不允许操作
出错语句是:Set rs = conn.Execute("select * from class")请问高手,这是怎么回事?
Set conn = CreateObject("ADODB.Connection")
2。
Public rs As New ADODB.Recordset
Private Sub Command1_Click()
if conn is nothing then main
Set rs = conn.Execute("select * from class")
MsgBox "数据库连接成功"
End Sub
'model模块中:
Public conn As New ADODB.Connection
Sub Main()
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\vb工程\xs.mdb;Persist Security Info=False"
End Sub
'form窗体中:Public rs As New ADODB.Recordset
Private Sub Command1_Click()
If conn.State = 0 Then Main
Set rs = conn.Execute("select * from class")
MsgBox "数据库连接成功"
End Sub
少了个字符“c”建议lz在vb开发环境选项+上强制变量声明。
If conn.State = 0 Then Main
的具体含义是?为什么
if conn is nothing then main
就不行?
funConnectDataBase:连接数据库,连接成功返回True,失败返回False。根据返回值你可以决定是否执行subExectue过程。
楼主对象重复定义了.......
'Three times..
Public conn As New ADODB.Connection
.......
Set conn = New ADODB.Connection
Set conn = CreateObject("ADODB.Connection")
变量名字也打错了,连接打开就错了。Dim connstr
'....
onnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\vb工程\xs.mdb;Persist Security Info=False"