在DELPHI程序中使用ADO对象存取ODBC数

泪吻尘

泪吻尘

2016-02-19 17:27

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享在DELPHI程序中使用ADO对象存取ODBC数的教程,热爱PS的朋友们快点看过来吧!

  作为一个ASP爱好者,笔者经常在ASP页面中使用ADO对象操作ODBC数据库,觉得用ASP创建WEB应用系统确定挺方便的.虽然在编程生涯中,笔者更喜欢Borland系列产品,对微软产品有点排斥,对ASP却是例外.某天,灵机一动,ADO对象是一个标准OLE对象,如果在DELPHI应用程序中能利用ADO操作数据库,应该挺不错.尤其在用DELPHI做网络数据库应用程序时,如果所在的WEB站点是WINNT站点并且支持ASP页面,就可以用ADO对象访问ODBC数据库,而不用把那么大的BDE再上载到站点上去,这样就可充分利用DELPHI和ASP的编程优势,做出更好的ISAPI/NSAPI/CGI.

  经过编程和测试,在DELPHI中可以成功地用ADO对象存取ODBC数据库,现将使用经验写出来,与大家共享,让我们多一个访问ODBC数据库的方法.

  在32位的DELPHI中,可以声明一个variant变量(如AVariant),然后通过CreateOleObject创建一个OLE对象,如AVariant:=CreateOleObject(ADODB.Connection)可以获得一个数据库连接对象的实例,然后就可以利用该对象的方法和属性来操作ODBC数据库了.(待续)

  下面简单介绍一下访问ODBC数据库所用到的ADO对象及其方法和属性.

  1.数据库连接对象(ADODB.Connection)

  该对象用于与ODBC数据库建立连接,所有对数据库的操作均通过该连接进行.数据库连接对ADODB.Connection的作用象Delphi中的TDatabase对象.建立一个连接对象的方法为(AConnection为Variant类型变量):

  AConnection:=CreateOleObject(ADODB.Connection)

  用于建立连接的方法为Open,使用语法为(以对象AConnection为例):

  AConnection.Open( ConnectionString, UserId, Password )

  三个参数均为字符串类型,其中UserId和Password为用户名称和用户密码,用来访问数据库时使用,可以省略,因为在ConnectionString同样可以指定用户名称和用户密码.ConnectionString是用来说明ODBC数据源信息的字符串,其格式为:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  

Provider=ProviderName;DSN=DSNName;DRIVER=driver; SERVER=server;DATABASE=database;UID=user; PWD=password 

  其中:Provider:数据提供者,默认为MSDASQL,为微软OLEDB,通常省略

  DSN   :要打开的数据库? 的OBDC系统数据源(DSN),是可选参数

  DRIVER :要打开的数据库所用的驱动程序名称,如Access对应

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  Microsoft Access Driver(*.mdb),是可选参数

  SERVER :要打开的数据库所在的服务器名称,本机可用(local),是可选参数

  DATABASE:要打开的数据库名称,是可选参数

  UID   :用户名称,用来访问数据库,是可选参数

  PWD   :用户密码,用来访问数据库,是可选参数

  以上参数均为可选参数,但必须提供足够的信息来描述一个系统数据源.假如已经定义了一个ODBC的系统DSN,名称为MyDsn,那么就可用以下语句建立一个数据库连接:

  AConnection.Open(DSN=MyDsn);

  为了防止DSN不存在或其设置被他人修改时造成应用程序运行错误,可以用ADODB.Connection创建一个临时ODBC数据源,这样可以保证我们使用的系统DSN的参数设置是正确的.下面的语句可以创建一个临时ODBC系统DSN,对应一个ACCESS数据库,路径为

  C:Inetpubwwwroottest.mdb

  AConnection.open(Driver={Microsoft

  Access Driver (*.mdb)};DBQ=

  C:inetpubwwwroottest.mdb)

  建立一个ADODB.Connection后,如果不需要返回操作结果(如删除,修改,更新等操作)就可以对数据库进行正常的SQL操作了,此时应用ADODB.Connection的另外一个方法Execute,使用语法为:

  AConnection.Execute( strSQL );

  其中strSQL为执行操作的SQL语句,如删除操作可以为:delete from wfjcommu 用AConnection.Close关闭一个数据库连接.

  2.数据集对象(ADODB.RecordSet)

  如果要执行查询操作并返回查询结果,或者要更方便地操作数据表,就需要用到数据集对象了.数据集对象ADODB.RecordSet的作用象Delphi中的TTable或TQuery对象.建立一个数据集对象的方法为(ARecordSet为Variant类型变量):

  ARecordSet:=CreateOleObject(ADODB.RecordSet)

  从数据表取得数据的方法为Open方法,具体使用方法为:

  

ARecordSet.Open( strCommand,ActiveConnection,intCursorType,intLockType,intCommandType ); 

  其中:strCommand:字符串,为命令参数,可以是一个Table名称,可以是一个SQL语句,也可以是一个服务器上的存储过程(StoredProc)名称,具体需要后面的参数intCommandType来指定.

  ActiveConnection:要使用的数据库连接,是一个ADODB.Connection对象.

  intCursorType:长整数,数据集的Cursor类型,可选参数,请参见程序中注释。

  intLockType:长整数,对数据表的加锁类型,可选参数,请参见程序中注释。

  intCommandType:长整数,命令参数的类型,用来指明strCommand的作用,可以指定strCommand为命令(如SQL语句)或数据表(TTable)或储存过程(StoredProc),可选参数,请参见程序中注释。

  如执行一个SQL查询,可以采用如下语句:

  

ARecordSet.Open(Select* from wfjcommu,adOpenStatic,adLockOptimistic,adCmdText); 

  其它常见属性和方法与TTable和TQuery相比较如下(具体请见ASP帮助文件):

  

eof,bof:eof,bof.MoveFirst, MoveLast:First, LastMovePrevious, MoveNext:Prior, NextMove:MoveByAddNew:appendUpdate:PostClose:close 

  Delete加Update:delete,所有对数据表的修改均须用Update使操作有效,这与Delphi不同

  

Fields[FieldNo]:Fields[FieldNo]Fields[FieldName]:FieldByName(FieldName)

展开更多 50%)
分享

猜你喜欢

在DELPHI程序中使用ADO对象存取ODBC数

编程语言 网络编程
在DELPHI程序中使用ADO对象存取ODBC数

在DEPHI程序中使用ADO对象存取ODBC数续

编程语言 网络编程
在DEPHI程序中使用ADO对象存取ODBC数续

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在Delphi应用程序中使用DLL

Delphi
在Delphi应用程序中使用DLL

怎样在vc、delphi中使用mysql(mysql odbc驱动的使用)

MySQL mysql数据库
怎样在vc、delphi中使用mysql(mysql odbc驱动的使用)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在VB中使用文件对象

编程语言 网络编程
在VB中使用文件对象

Delphi中使用纯正的面向对象方法

编程语言 网络编程
Delphi中使用纯正的面向对象方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

CSS初级入门:样式表的外部调用

CSS初级入门:样式表的外部调用

使用DELPHI实现文本文件显示和声音同 步

使用DELPHI实现文本文件显示和声音同 步
下拉加载更多内容 ↓