首页上一页 1 下一页尾页 1 条记录 1/1页
使用ODBC DSN连接Access 2003数据库
发表在VB答疑区
2012-01-03
是否精华
是
否
版块置顶:
是
否
您好。我在设计教师测评系统时,遇到如下问题:在公共模块中,出现错误提示:实时错误'3709'连接无法用于执行此操作.在此上下文中它可能已被关闭或无效。rst.Open str, con, adOpenStatic, adLockOptimistic高亮显示。我已经建立DSN,并引用“Microsoft ActiveX Data Objects 2.8 Library”该模块全部代码如下:
'IsConnec标记数据库是否处于连接状态,con用于表示Connection对象的实例
Private IsConnect As Boolean
Private con As ADODB.Connection
'该子过程的功能是连接到指定的数据库
Public Sub Connect()
'如果连接标记为真,表示已经连接到数据库,则直接退出
If IsConnect = True Then
Exit Sub
End If
'生成Connection对象的一个实例,并赋给变量con
Set con = New ADODB.Connection
'使用Connection对象的Open方法连接到指定的数据源
con.Open "DSN=evaluation;Uid=admin;Pwd=1"
If con.State <> adStateOpen Then
'如果连接不成功,则显示提示信息并退出程序
MsgBox "数据库连接失败!", vbOKOnly, "提示"
End
End If
'设置连接标记,表明已经连接到数据库
IsConnect = True
End Sub
'将查询到的结果集读入rst对象中,并通过Set connstr=rst返回查询结果集
Public Function connstr(ByVal str As String) As ADODB.Recordset
'创建一个记录集对象并将其实例化
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
rst.Open str, con, adOpenStatic, adLockOptimistic
Set connstr = rst
End Function
'该子过程的功能是断开与数据库的连接
Public Sub Disconnect()
'如果连接标记为假,表示已经断开连接,则直接退出
If IsConnect = False Then
Exit Sub
End If
'关闭并释放连接
con.Close
Set con = Nothing
'设置连接标记,表明已经断开与数据库的连接
IsConnect = False
End Sub
请问代码本身有没有错误?有的话应该如何修改?否则,是不是漏掉了什么操作步骤呢?请拨冗回复,谢谢!
'IsConnec标记数据库是否处于连接状态,con用于表示Connection对象的实例
Private IsConnect As Boolean
Private con As ADODB.Connection
'该子过程的功能是连接到指定的数据库
Public Sub Connect()
'如果连接标记为真,表示已经连接到数据库,则直接退出
If IsConnect = True Then
Exit Sub
End If
'生成Connection对象的一个实例,并赋给变量con
Set con = New ADODB.Connection
'使用Connection对象的Open方法连接到指定的数据源
con.Open "DSN=evaluation;Uid=admin;Pwd=1"
If con.State <> adStateOpen Then
'如果连接不成功,则显示提示信息并退出程序
MsgBox "数据库连接失败!", vbOKOnly, "提示"
End
End If
'设置连接标记,表明已经连接到数据库
IsConnect = True
End Sub
'将查询到的结果集读入rst对象中,并通过Set connstr=rst返回查询结果集
Public Function connstr(ByVal str As String) As ADODB.Recordset
'创建一个记录集对象并将其实例化
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
rst.Open str, con, adOpenStatic, adLockOptimistic
Set connstr = rst
End Function
'该子过程的功能是断开与数据库的连接
Public Sub Disconnect()
'如果连接标记为假,表示已经断开连接,则直接退出
If IsConnect = False Then
Exit Sub
End If
'关闭并释放连接
con.Close
Set con = Nothing
'设置连接标记,表明已经断开与数据库的连接
IsConnect = False
End Sub
请问代码本身有没有错误?有的话应该如何修改?否则,是不是漏掉了什么操作步骤呢?请拨冗回复,谢谢!