Delphi教程,Delphi案例:在DELPHI程序中使用ADO对象存取ODBC数,Delphi源码,Delphi代码,Delphi源码下载,Delphi实例,Delphi安全漏洞,
学院首页 软件应用 编程开发 创意设计 认证培训 软件论坛
ASP ASP.NET PHP JSP SQL MYSQL Java VB

您的位置:学院 >> 编程开发 >> Delphi >> 在DELPHI程序中使用ADO对象存取ODBC数


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


p>  作为一个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数据源信息的字符串,其格式为:

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

  其中:Provider:数据提供者,默认为MSDASQL,为微软OLEDB,通常省略
     DSN   :要打开的数据库? 的OBDC系统数据源(DSN),是可选参数
     DRIVER :要打开的数据库所用的驱动程序名称,如Access对应
     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:\Inetpub\wwwroot\test.mdb
AConnection.open(Driver={Microsoft
Access Driver (*.mdb)};DBQ=
C:\inetpub\wwwroot\test.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, Last
MovePrevious, MoveNext:Prior, Next
Move:MoveBy
AddNew:append
Update:Post
Close:close

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

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



技术文章快速查找

栏目导航
软件应用
·操作系统 ·杀毒防黑 ·应用软件
·聊天软件 ·网络软件  
Web开发
·ASP ·JavaScript ·CGI
·JSP ·VbScript ·Web服务器
·PHP ·XML  
开发语言
·VB ·VC ·ASP.NET
·Java ·C/C++ ·Delphi
数据库开发
·MySQL ·SQL/Access ·PowerBuilder
·Oracle ·DB2  
网站设计
·Flash ·Dreamweaver ·HTML/CSS
·Fireworks ·FrontPage  
平面设计
·Photoshop ·CorelDraw ·AutoCAD
·FreeHand ·Illustrator ·3DsMAX
媒体动画
·Director ·Authorware ·Maya
·视频处理    


相关软件 产品库推荐
·笔记本 ·台式机 ·服务器
·数码相机 ·手机 ·GPS
·DV摄像机 ·MP3 ·MP4
·CPU ·硬盘 ·内存
·主板 ·显卡 ·显示器
·打印机 ·投影机 ·路由器

还没人留言,抢个先,哈哈!
对"在DELPHI程序中使用ADO对象存取ODBC数"的评论 - 快速回贴
内容:
  [完成后可按Ctrl+Enter发布]

百度中 在DELPHI程序中使用ADO对象存取ODBC数 相关内容
Google搜索中 在DELPHI程序中使用ADO对象存取ODBC数 相关内容
雅虎中 在DELPHI程序中使用ADO对象存取ODBC数 相关内容
Sogou搜索中 在DELPHI程序中使用ADO对象存取ODBC数 相关内容

相关软件 最新回复帖子:

·Windows Vista 中卸载软件的不同方式
·没有mysql支持时的替代方案
·一个可以发送附件及HTML格式邮件的PHP类
·AutoCAD打造精致三维鸟笼实例详解
·Photoshop自定义水晶字特效样式
·AutoCAD三维基础实例教程
·PS为黑背景长发美女照片抠图换背
·用Photoshop自制个性摩托车贴花小经验
·轻松几步将美女照片处理为手工素描
·巧用Photoshop画笔轻松绘制创意特效


  相关软件 在DELPHI程序中使用ADO对象存取ODBC数相关文章
在DELPHI程序中动态设置ODBC数据源 精简DELPHI数据库系统的补充
如何对数据流 INSERT、APPEND 定制任务栏上的系统菜单
活用 SetSelTextBuf 捕捉来自 Thread 的异常
在DEPHI 4.0中实现动画功能 修改与克隆对象属性
控制系统菜单 怎样建立简单的任务栏应用程序
用修改文件时间的方法来加密文件 用Dephi程序维护Paradox 数据表的索引
有“背景”的窗体 自定义快速报表的打印预览窗口
用Delphi实现自定义颜色对话框及其构件 Delphi实用编程经验二则