注册 登录
编程论坛 VB6论坛

求问如何判断对象是否已经赋值

积善门徒 发布于 2012-06-20 22:45, 1974 次点击
初来报道,刚有个问题,就发上来问问,请大神门指点一下基础性问题~~~谢!

在写一个数据库管理程序
我是引用---Microsoft DAO 3.6 Object Library读取数据库信息

Public db As Database
Public rs As Recordset

Set db = OpenDatabase(App.Path & "\data\aaa.mdb", True, False)
这给db赋值
Set rs = db.OpenRecordset(SQLstr, dbOpenDynaset)
SQLstr就不详细写了

If db = Nothing Then
        MsgBox "db没有赋值"
Else
        MsgBox "db已经赋值"
End If
但提示:“编译错误:对象 使用无效”

现在想求解:用什么方法来判断db是否已经赋值
nothing、null都试过了

求解!!!!!谢~~~~~~~~~~~







4 回复
#2
风吹过b2012-06-21 09:40
找不到方法就使用 on error 捕捉错误吧。

1、你定义了 DB 为一个类,所以 NULL 是不行的。
2、你没有 设置 db 为 nothing ,所以 nothing 也是不行的。
3、你可以检查 DB 的属性,比如有没有 已连接数据库 的属性什么的。 用 DAO 的时候太少,都忘的差不多了。
#3
积善门徒2012-06-21 12:06
以下是引用风吹过b在2012-6-21 09:40:02的发言:

找不到方法就使用 on error 捕捉错误吧。

3、你可以检查 DB 的属性,比如有没有 已连接数据库 的属性什么的。 用 DAO 的时候太少,都忘的差不多了。

确实是个好方法!谢了~~~
#4
lowxiong2012-06-21 12:14
判断db.state值即可,同理对记录集的状态也是这样判断的
if db.state=1 then
  msgbox "数据库已成功连接"
else
  msgbox "还没有连接数据库或连接失败!"
end if
if rs.state=1 then
  msgbox "记录集处于打开状态"
else
  msgbox "没有有效的记录集"
end if
#5
积善门徒2012-06-21 13:16
尝试一下,结贴后是不是可以再回复
1