使用ODBC连接数据库简介

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方法,就可以从关系库中读取数据了。

参与8

7同行回答

yumiao520521yumiao520521软件开发工程师上海
谢谢收起
软件开发 · 2013-10-28
浏览1223
yang0158yang0158软件开发工程师xxxxx
换jdbc吧,现在谁还用这玩意显示全部
换jdbc吧,现在谁还用这玩意收起
互联网服务 · 2013-07-10
浏览1111
82941728294172技术经理不想说
5年前用过这种方式显示全部
5年前用过这种方式收起
互联网服务 · 2013-07-10
浏览1117
dhg666dhg666软件开发工程师济宁今创数码科技
收藏了,好东东显示全部
收藏了,好东东收起
互联网服务 · 2013-05-27
浏览1162
shipanfengshipanfeng软件开发工程师微电子
收藏了,好东东显示全部
收藏了,好东东收起
系统集成 · 2013-01-07
浏览1100
sysmwsysmw其它赢佰网络工作室
不错的帖子。显示全部
不错的帖子。收起
互联网服务 · 2013-01-01
浏览1113
yanjun_computeryanjun_computer软件工程师上海登岩信息科技有限公司
这个学习了、显示全部
这个学习了、收起
IT分销/经销 · 2012-11-20
浏览1135

提问者

belle
软件开发工程师IT
擅长领域: portal中间件

相关问题

相关资料

问题状态

  • 发布时间:2012-11-02
  • 关注会员:1 人
  • 问题浏览:8798
  • 最近回答:2013-10-28
  • X社区推广