Delphi数据库编程教程(三)
第三节 ADO(ActiveX Data Objects)编程模型
如文章“Delphi中引入ADO”所叙述的,ADO是一套COM(Component Object Model组件对象模型)组件(DLLs),它允许你像访问电子邮件和文件系统一样访问数据库。使用ADO编写的应用程序不需要BDE。为了用ADO访问各种数据库,你需要有ADO/OLE DB(Object Linking and Embedding对象链接和嵌入)库。使用ADO所需要的可能在你的计算机中已存在:这些文件被微软作为Windows98/2000的一部分分发。如果你使用的是Windows95或NT,你可能需要分发或安装ADO引擎。Delphi 5的CD中包含有MDAC-Microsoft Data Access Components(微软数据访问组件)的安装文件。你应该确定使用的是MDAC的最新版本,它可以从微软的官方网站获得。MDAC是使Universal Data Access(通用数据访问)起作用的关键技术。它们包括ActiveX Data Objects(ADO)、OLE DB和Open Database Connectivity(ODBC)。
注:为了在Windows95的计算机上正确安装,MDAC需要DCOM95(Distributed Component Object Model分布式组件对象模型)已被安装。为了正确的注册,MDAC所安装的组件依赖于DCOM95所安装的DLLs。注意,DCOM95在NT4.0中是不需要的。在某些情况下,DCOM不需要安装在运行Windows的计算机中。但如果没有被安装,安装MDAC前应安装DCOM98。
没有必要过多的讨论OLE DB和ADO,让我们转移到更实际的问题上。
ADO 对象(ADO Objects)
ADO编程模型围绕着几个ADO对象而建立,这些对象为访问各种数据员提供多种方法。这些对象提供连接数据源、查询和更新记录集、报告错误的功能。Delphi通过几个VCL组件通过访问这些对象的封装组件。让我们看一下与ADO工作的对象是那些:
Connection (连接)对象,通过连接字符串与数据源连接。在BDE/Delphi中,连接对象是数据库组件和会话(Session)组件的结合。
Command (命令)对象,使我们能操作数据源。它描绘一个命令(也视为查询或叙述),能处理对数据库数据的增加、删除、查询或更新。
Recordset (记录集)对象,是查询(Query)命令的结果。你可以认为Recordset 是一个Delphi表(Table)组件或查询(Query)组件。Recordset 返回的每一行都包含多个字段(Field)对象。
其他几个在ADO模型中存在的对象有:字段(Field)对象、参数(Parameter)对象和错误(Error)对象—在接下来的章节中将会回过来谈到它们。
第四节 用ADOExpress连接数据库
在对ADOExpress集合的每个组件进行简要的解释之前,让我们首先了解一下怎样连接到Access数据库。当然,当然我们将连接到我们的样例数据库—AboutDelphi.mdb(译者加:在上一章中所建立的数据库)。
Delphi(5)主要通过组件面板ADO页上的ADOExpress组件实现对ADO的支持。几个其他的数据库使能组件在本课程中将被使用。目前,我们将主要关注用ADO访问Access数据库所需的最小的组件集。
运行Delphi,建立一个新的带有空的表单的应用程序。
为了能通过ADO和Delphi访问Access数据库的数据,你必须在你的工程中至少增加三个数据可视(data aware)组件。首先是数据控制(DataControls)组件页的DBGrid—用于浏览从一个表格或通过查询获得的记录。其次是DataSource(DataAccess数据访问页),用于连接数据集和表单上的DBGrid组件,从而实现潜在数据集数据的现实、导航(navigation)和编辑。最后是ADOTable(ADO页),它描绘从ADO数据库获得的一个表。把它们都拖放在表单(Form)上,组件名都取默认值。这时表单应如图所示:
如果你现在运行程序,Grid中没有数据显示—当然,因为我们没有真正地连到数据库上。注意另一点:仅仅Grid使可见的,其他两个组件是不可视控件(controls-unvisible)。
组件间的连接(Link between components)
为了显示数据库中的数据,我们必须把三个组件连在一起。在对象监视器(Object Inspector)中进行如下设置:
DBGrid1.DataSource = DataSource1;
DataSource1.DataSet = ADOTable1 ;
现在我们到了比较难的部分了,为了真正从数据库中获得数据,我们必须建立一个连接字符串(ConnectionString)。这个字符串指出了数据库的物理存储位置和访问方式。当你双击AdoTable组件的ConnectionString(连接字符串)属性的省略号按钮,你将得到如下的对话框:
Data Source=C:/!gajba/About/aboutdelphi.mdb;
Persist Security Info=False
Delphi数据库编程教程(三)相关推荐
- Delphi数据库编程教程(四)
第三章 数据库中的图片 第一节 处理BLOBs,在Access中存储图片 现在开发数据库应用程序不仅仅只需要处理文本或数字数据.例如,如果你正开发基于Interner/Intranet或基 ...
- Delphi数据库编程教程(二)
填写数据(Filling some data) 为了有一些"哑元"(dummy)数据,在类型(Type)表中填上以下4个记录:"游戏(Game)" ...
- Delphi数据库编程教程(七)
第四章 数据浏览和导航 第一节 设置和连接 欢迎来到免费DB Delphi教程的第四章!到现在为止,本教程以说明了怎样连接到Access数据库及怎样显示数据库表中的图形数据.在上一章我 ...
- Delphi数据库编程教程(九)
第五章 数据集数据的后面..... 第一节 数据的状态 当用Delphi和ADO开发数据库应用程序时,大部分工作用于学习数据集组件的帮助文档..为了创建一个基于ADO的程序,Delphi提供了几个数据 ...
- Delphi数据库编程教程(五)
第二节 使用DBImage引出JPEG-错误的方式 DBImage-思路一(The DBImage - take one) 当试图使用Delphi做新的尝试时,我所做的第一件事 ...
- C语言连接MySQL数据库编程教程:超详细
** C语言连接MySQL数据库编程教程 ** 一.下载安装mysql.h库文件 我们使用的编译器一般为VC6.0或者VS,默认的都是32位编译器,所以我们下载的库文件也直接下载32位的就可以.下面附 ...
- Delphi数据库编程一日通
Delphi数据库编程一日通. 通常情况下,利用 Delphi 开发数据库应用程序,可以使用TTable.TDataSource.TDBEdit.TDBNavigator等构件.只要正确设置了构件的某 ...
- JAVA实现数据库编程第三章_[数据库]使用Java实现数据库编程—03 第三章 高级查询(一)...
[数据库]使用Java实现数据库编程-03 第三章 高级查询(一) 0 2018-07-21 03:01:10 1.修改表:(1)修改表名语法: ALTER TABLE RENAME [ TO ] : ...
- vb数据库编程(三)--SQL语言
命名规则--表名,字段名限制在30个字符内,而且只能用数字,字母和下划线,不要用中文!!且必须以字母开头.除记录内容可能用到的中文外,全部用英文:数据库名,表名,字段名,索引名,查询名等.另外,SQL ...
最新文章
- 用于自动泊车的鸟瞰图的边缘线的语义SLAM系统
- 解决:Unknown table engine 'InnoDB'
- android运行jar文件路径,java命令行执行jar包报错解决
- java http请求实现_java工程实现http请求接口
- php模块安装 pdo_mysql_关于php插件pdo_mysql的安装
- Java ObjectOutputStream flush()方法与示例
- 浪潮商用房树新:云数据库时代来临,看浪潮商用机器如何以Power系列夯实云之基石...
- 2018年人工智能行业研究报告
- php目录遍历漏洞复现,nginx解析漏洞,配置不当,目录遍历漏洞环境搭建、漏洞复现...
- request,response传入线程值会变为null
- Linux的段错误调试方法
- liunx 安装docker
- 实验一 网络流量捕获实验
- ARFoundation之路-人脸检测增强之二
- 解决‘WebDriver‘ object has no attribute ‘find_element_by_xpath‘问题
- vSphere Client中虚拟机与客户机中的剪切板不能够拷贝、粘贴
- 心灵的呼唤 - Cuchulainn
- 单元测试(三) mockito入门
- 刷脸支付有助商户自主营销计划节省开支
- 【节点电压法】一道例题示例