在VB中如何判断一个数据库已经打开,从而不要再重复打开数据库???在线等到解答

wkoji 2002-04-07 12:50:33
如有一个数据库连接Dim cn As New ADODB.Connection
请给出代码,判断(cn.open)事件是否成功,切cn是否已经打开???
...全文
116 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
gaoqi5037 2002-04-07
if Cn.state=1 then
已打开
else
未打开
end if
回复
wkoji 2002-04-07
非常感谢各位帮忙
回复
gaoqi5037 2002-04-07
看看 water_j(jxp) 的吧
回复
wangsitao 2002-04-07
if Cn.state=adStateOpen then
已打开
end if

Cn.state

adStateClosed 0 已关闭
adStateOpen 1 已打开
adStateConnecting 2 正在连接
adStateExecuting 4 正在执行操作
adStateFetching 8 正在取行数据操作


回复
water_j 2002-04-07
Public Function GetState(intState As Integer) As String

Select Case intState
Case adStateClosed
GetState = "adStateClosed"
Case adStateOpen
GetState = "adStateOpen"
End Select

End Function
回复
water_j 2002-04-07
Public Function GetState(intState As Integer) As String

Select Case intState
Case adStateClosed
GetState = "adStateClosed"
Case adStateOpen
GetState = "adStateOpen"
End Select

End Function
回复
water_j 2002-04-07
State 属性


对所有可应用对象,说明其对象状态是打开或是关闭。

对执行异步方法的 Recordset 对象,说明当前的对象状态是连接、执行或是获取。

返回值

返回下列常量之一的长整型值。

常量 说明
AdStateClosed 默认,指示对象是关闭的。
AdStateOpen 指示对象是打开的。
AdStateConnecting 指示 Recordset 对象正在连接。
AdStateExecuting 指示 Recordset 对象正在执行命令。
AdStateFetching 指示 Recordset 对象的行正在被读取。


说明

可以随时使用 State 属性确定指定对象的当前状态。该属性是只读的。

Recordset 对象的 State 属性可以是组合值。例如,如果正在执行语句,该属性将是 adStateOpen 和 adStateExecuting 的组合值。
回复
gaoqi5037 2002-04-07
是的。
回复
wkoji 2002-04-07
那么,你确定当cn.state=0时,表示数据库未打开吗???
回复
发动态
发帖子

1180

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
社区公告
暂无公告