Uselsx "*LSXODBC" --为了使用ODBC类,须做此声明
Dim con As ODBCConnection --定义变量
Dim qry As ODBCQuery
Dim result As ODBCResultSet
Set con = New ODBCConnection
Set qry = New ODBCQuery
Set result = New ODBCResultSet
Set qry.Connection = con --建立连接
Set result.Query = qry
con.ConnectTo("ATDB") --连接ATDB数据库
qry.SQL = "SELECT * FROM STUDENTS" --sql语句 --
...............................................
If result.Execute= False Then --执行sql失败,异常处理
e = result.GetError --获取错误代码
msg = "Unable to execute SQL - " & result.GetErrorMessage(e) & " - " & result.GetExtendedErrorMessage(e)
Messagebox msg,, "ERROR"
ELSE
....................
....................
End If
result.Close(DB_CLOSE) --关闭所有结果集
con.Disconnect --关闭与数据库的连接
说明:
1.在使用ODBC类前一定要声明:Uselsx "*LSXODBC"
2.执行sql语句时,要用ODBCResultSet的Execute函数,在执行存储函数时须使用ExecProcedure函数。另外,在执行存储函数时,可以就不行定义ODBCQuery对应,直接将ODBCConnection对象和ODBCResultSet对象建立连接,如:Set result.Connection = con
3.定义时可以用另一种方式:如 Dim con As New ODBCConnection
4.在结束时要记得关闭结果集和关闭数据库的连接
补充(补充的内容是在网上看到的,在此记录下,以便日后查询):
1.New。New关键字是用来创建Notes对象的。New后面是要创建的Notes对象及所需的参数。使用New关键字需要注意的一点是:在 Declare事件中声明Notes对象的时候不能使用New关键字,否则编译时会出错;但是在Click事件中可以按Dim db As New NotesDatabase(“”,“***.NSF”)格式书写。
2.ODBCConnection对象是与ODBC建立连接的Notes对象,使用它的ConnectTo方法可以与ODBC用户数据源中定义的任何一个数据源建立连接,同时返回一些相关的信息,如:表的个数,表中的字段数等。
3.ODBCQuery对象是用户编写标准的SQL查询语句的对象,它的connection属性是指向已经与ODBC数据源建立好连接的ODBCConnection对象的;它的SQL属性是存放用户编写的SQL语句。
4.ODBCResultSet对象是执行SQL查询语句之后存放查询结果的,它的Query属性是指向包含建立起连接(ODBCConnection)的并写好SQL语句的ODBCQuery对象。
5.ODBCResultSet对象的NextRow方法的作用是将ODBCResultSet的记录指针指向下一条记录。因为在取到关系数据库中的记录之后,ODBCResultSet对象的指针是为空的,也就是说它并不自动指向结果集的第一条记录,NextRow方法即实现了将记录指针指向第一条记录的功能,并且在以后的循环过程中,此方法还将继续把指针逐一指向后面的记录,直到最后一条。
----6. 由于原先的关系数据库中的字段比较多,所以采用在程序中直接写入字段名的做法并不明智,因此,本程序使用了ODBCResultSet对象的FieldName(fieldindex)方法来通过字段的编号获得字段名,然后再使用GetValue(fieldname)函数得到域值,最后调用Document类的AppendItemValue(fieldname,value)函数在表单中追加一个名为fieldname的域并赋值。
----在把上述三个对象的属性分别设置好以后,调用ODBCResultSet对象的Execute方法,就可以从关系库中读取数据了。
收起