关于判断记录集是否打开的问题!!

TIANHEI 2003-07-18 08:33:19
如何在VB连ACCESS时判断Recordset是否打开??
我用Status属性判断时VB报错“对象未打开,不可操作。”
...全文
105 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxqlogo0 2003-07-18
  • 打赏
  • 举报
回复
'首先引用Microsoft Activex Data Objects 2.x Library
Dim objcon As New ADODB.Connection
Dim objrs As New ADODB.Recordset
objcon.Open "Provider=sqloledb.1;user id=sa;password=密码;Initial Catalog=数据库名;Data Source="
objrs.Open "select * from 表 ", objcon, 3, 1
'再部件中添加DataGrid控件
Set DataGrid1.DataSource = objrs
lihonggen0 2003-07-18
  • 打赏
  • 举报
回复
'工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)

Private Sub Form_Load()

Dim CN As New ADODB.Connection '定义数据库的连接
Dim Rs As New ADODB.Recordset

CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\northwind.MDB;Persist Security Info=False;"
CN.Open
If Rs.State = adStateOpen Then
' ....执行你的操作
Else
Rs.CursorLocation = adUseClient
Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic
End If

End Sub
of123 2003-07-18
  • 打赏
  • 举报
回复
If CN.State = adStateOpen then
'已打开数据库
If RS.State = adStateOpen Then
'已打开记录集
else
'未打开记录集
end if
Else
'未打开数据库
End If
strongfisher 2003-07-18
  • 打赏
  • 举报
回复
If RS.State = adStateOpen Then
....
else
....
end if
lilaclone 2003-07-18
  • 打赏
  • 举报
回复
可以判断
If Rs Is Nothing then
'未打开数据库
Else
'已打开数据库
End If
lihonggen0 2003-07-18
  • 打赏
  • 举报
回复
工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)

Dim RS As New ADODB.Recordset
TIANHEI 2003-07-18
  • 打赏
  • 举报
回复
不行,执行0RS.State = adStateOpen时报错
lihonggen0 2003-07-18
  • 打赏
  • 举报
回复
If RS.State = adStateOpen Then
....执行你的操作
else
Rs.CursorLocation = adUseClient
Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic
end if
michealsong2003 2003-07-18
  • 打赏
  • 举报
回复
if rs.state=1 then
Msgbox "open"
else
Msgbox "close"
end if

前提是,rs是有效的数据集。

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧