VB中 连接无法用于执行此操作。在此上下文中它可能已被关闭或无效 求大神指导,详解。。。
'填充班级组合框,参数为组合框对象变量PublicSubaddclassitem(cboxAsComboBox)DimrstmpAsNewADODB.Recordsetr...
'填充班级组合框,参数为组合框对象变量
Public Sub addclassitem(cbox As ComboBox)
Dim rstmp As New ADODB.Recordset
rstmp.Open "select 班级 from 学生信息" & _
"where 班级 <> null and 班级 <> ''", _
pubcnn, adOpenStatic, adLockOptimistic
'在组合框中添加班级
cbox.Clear
Do Until rstmp.EOF
cbox.AddItem rstmp("班级")
rstmp.MoveNext
Loop
Set rstmp = Nothing
End Sub
我声明了一个公共的addclassitem,为组合框添加班级信息,但是在运行的时候去提示
rstmp.Open "select 班级 from 学生信息" & _
"where 班级 <> null and 班级 <> ''", _
pubcnn, adOpenStatic, adLockOptimistic
这段代码 连接无法用于执行此操作。在此上下文中它可能已被关闭或无效。
我是用ado控件连接的access数据库
Private Sub form_load() '窗体加载
Call addclassitem(cboclass) '填充班级组合框
'建立连接
Public Sub createconnection()
pubcnn.CursorLocation = adUseClient
pubcnn.Open "provider=microsoft.jet.oledb.4.0;data source=student.mdb"
End Sub 展开
Public Sub addclassitem(cbox As ComboBox)
Dim rstmp As New ADODB.Recordset
rstmp.Open "select 班级 from 学生信息" & _
"where 班级 <> null and 班级 <> ''", _
pubcnn, adOpenStatic, adLockOptimistic
'在组合框中添加班级
cbox.Clear
Do Until rstmp.EOF
cbox.AddItem rstmp("班级")
rstmp.MoveNext
Loop
Set rstmp = Nothing
End Sub
我声明了一个公共的addclassitem,为组合框添加班级信息,但是在运行的时候去提示
rstmp.Open "select 班级 from 学生信息" & _
"where 班级 <> null and 班级 <> ''", _
pubcnn, adOpenStatic, adLockOptimistic
这段代码 连接无法用于执行此操作。在此上下文中它可能已被关闭或无效。
我是用ado控件连接的access数据库
Private Sub form_load() '窗体加载
Call addclassitem(cboclass) '填充班级组合框
'建立连接
Public Sub createconnection()
pubcnn.CursorLocation = adUseClient
pubcnn.Open "provider=microsoft.jet.oledb.4.0;data source=student.mdb"
End Sub 展开
2个回答
展开全部
ADODB.Recordset在Open的时候是不需要pubcnn的,给你一段代码作参考:
Dim sql as String
Dim sConn as String
sql = "Select * from XXX"
sConn = "" 'sConn是数据库连接字符串
Set Rec = CreateObject("ADODB.Recordset")
Rec.CursorLocation = 3
Rec.Open sql, sConn, 3, 1
Do While Not Rec.EOF
'你的代码
Rec.MoveNext
Loop
Rec.Close
Dim sql as String
Dim sConn as String
sql = "Select * from XXX"
sConn = "" 'sConn是数据库连接字符串
Set Rec = CreateObject("ADODB.Recordset")
Rec.CursorLocation = 3
Rec.Open sql, sConn, 3, 1
Do While Not Rec.EOF
'你的代码
Rec.MoveNext
Loop
Rec.Close
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询