数据库编程教程(DELPHI基础教程:数据访问部件的应用及编程(二)[1])
![数据库编程教程(DELPHI基础教程:数据访问部件的应用及编程(二)[1])](/static/images/content_image/young-woman-4266712_1920.jpg)
本文目录
DELPHI基础教程:数据访问部件的应用及编程(二)[1]
数据集部件的事件
数据集部件TTable或TQuery具有很多的事件 为这些事件编写相应的程序代码可以进行有效性验证 计算可计算字段的值 确认对数据库表的多种操作等等 这些事件及其描述如表 所示
表 数据集部件常用的事件
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
事 件 描 述
───────────────────────────────────
BeforeOpen Afteropen 在数据集部件被打开之前/之后被触发
───────────────────────────────────
BeforeClose Afterclose 在数据集部件被关闭之前/之后被触发
───────────────────────────────────
BeforeInsert AfterInsert 在数据集部件进入插入状态之前/之后被触发
───────────────────────────────────
BeforeEdit AfterEdit 在数据集部件被之前/之后被触发
───────────────────────────────────
BeforePost AfterPost 在数据集部件投寄被修改的记录之前/之后被触发
───────────────────────────────────
BeforeCancel AfterCancel 在数据集部件取消前一步操作之前/之后被触发
───────────────────────────────────
BeforeDelete AfterDelete 在数据集部件删除当前记录之前/之后被触发
───────────────────────────────────
OnNewRecord 当建立一条新记录时被触发
───────────────────────────────────
OnCalcFields 当为表中的计算字段计算字段值时被触发
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TTable部件及应用
在前一节里我们介绍了数据集部件TTable 和TQuery 的共同的一些属性和方法 TTable部件是Delphi数据库编程中要经常使用的最重要的部件之一 它是数据库应用程序访问数据库时必须使用的数据集部件之一 在这一节里 我们重点介绍TTable部件特有的属性和方法 TTable部件所有的属性 方法和事件都可以在联机帮助中查到
TTabel部件主要的属性
DatabaseName属性和TableName属性
DatabaseName属性是说明数据库应用程序所操作的数据库的名字 它可以是由BDE定义的数据库的别名 显式说明的数据库文件所在的磁盘路径或者由TDatabase部件定义的一个数据库名 DatabaseName属性常常是一个由BDE定义的数据库的别名 使用由BDE定义的数据库的别名代替数据库实际所在的路径和名字 好处是当实际的数据库存放的位置发生变化时 只需利用BDE简单地设置一下该数据库的别名 而数据库应用程序无需修改 有关BDE的使用请参看BDE的设置应用 TabelName属性用以说明当前TTable部件所连接的实际的数据库表 这两个属性一般都在设计阶段指定 当然在程序运行过程中也可以设置 但是要修改这两个属性时 必须要在TTabel的Active属性为False时进行 当TTable的Active属性为True时 这两个属性是不能被修改和设置的
TableType属性
该属性说明与TTable部件相连接的数据库表的类型 当TableType属性设置成Default时 该属性所说明的数据库表的类型由数据库文件的扩展名决定
● 若数据库文件的扩展名为 DB或没有扩展名 表的类型是Paradox表
● 若数据库文件的扩展名为 DBF时 表的类型是dBASE表
● 若数据库文件的扩展名为 TXT时 表的类型是ASCII表
如果TableType属性不设定为Default 那么与TTable 部件相连的数据库表的类型由TableType中的设置的值决定 不用考虑数据库文件的扩展名
KeyExclusive属性
该属性的一个作用是说明在数据库表中查找记录时 将记录移到与查找值相匹配的记录处还是将记录指针移到与查找值相匹配的记录后面一条记录处 该属性是布尔型变量 当它的值为False时(缺省情况下为False) 将记录指针移到相匹配的记录处 为True时 将记录指针移到相匹配记录的后面一条记录处 该属性另一个作用是在表中指定检索范围时 用来说明是否包括满足过滤条件的边界记录 当KeyExclusive的值为False时 检索范围包括边界记录 否则不包括边界记录 有关详细的操作请参看 限定表中记录的检索范围
IndexFields属性和IndexFieldsCount属性
IndexFields的属性值是数据库表中字段名列表 它包含与TTable部件相连的数据库表中的全部索引字希 IndexFieldsCount属性说明表中索引字段的个数 这两个属性值都是只读的 只有在程序运行过程中可用
IndexName属性和IndexFieldNames属性
IndexName属性中存放著在建立数据库表时为数据库表定义的所有辅助索引名 它是一个辅助索引名列表 是只读属性 IndexFieldNames属性指定用于数据库表索引排序的字段名 多个字段名之间用分号隔开 例如对Customer DB表中的客户记录按邮政编码ZipCode和客户号码CustNo排序时可以设定IndexFieldNames的值为
ZipCode ; CustNo
在IndexFieldNames属性中指定的字段必须存在于相应的数据库表中 否则会导致错误 IndexName和IndexFieldName是互斥的 每次只能指定其中一个属性的值 不能同时为两个属性都指定属性值
lishixinzhi/Article/program/Delphi/201311/25157VB考试教程:探索ActiveX数据对象(ADO)
五、探索ActiveX数据对象(ADO)
在这一节里,将接触到微软的一个数据库新技术,也就是所谓的ActiveX数据对象(ADO)。你将学习如何安装和使用ADO ActiveX控件、如何在你的窗体中使用绑定控件显示数据库记录和字段、以及如何编写程序代码来管理ADO事务。另外,你还将学习使用一个特殊的工具来生成你自己的ActiveX数据对象,这个工具就是数据环境设计器(Data Environment Designer)。这些技巧将有助于独立地管理Microsoft Access数据库、企业内部网数据库、以及在World Wide Web上的分布式数据库对象。
1、ADO内幕
ADO是Microsoft处理关系数据库和非关系数据库中信息的最新技术(关系数据库管理系统用表来操纵信息,但并非所有的数据源都遵从这一模式)。ADO没有完全取代你在前面已经使用过的现有数据库技术——数据访问对象(DAO),但是它确实把DAO的编程扩展到了新的领域。ADO基于微软最新的被称为OLE DB的数据访问模式。它是专门为了给大范围的商业数据源提供访问而设计的,包括传统的关系数据库表、电子邮件系统、图形格式、Internet资源等等。ADO比DAO所需的内存更少,所以它更适合于大流量和大事务量的网络计算机系统。
三种数据库编程方式
这些年以来,Microsoft已经为Visual Basic编程人员提供了三种不同的数据库编程方式,Visual Basic 6全面支持其中的每一种方式。请掌握这些缩写。
DAO——数据访问对象(DAO)方式是允许程序员操纵Microsoft Jet数据库引擎的第一个面向对象的接口。Jet数据库引擎是一种用来访问Microsoft Access表和其它数据源的记录和字段的技术。对于单一系统的数据库应用程序来说,DAO依然很受欢迎并且非常有效;在中等规模工作组的网络中,DAO也有少量的应用。
RDO——远程数据对象(RDO)方式是提供给开放数据库互连(ODBC)数据源的面向对象的接口。RDO是开发Microsoft SQL Server、Oracle、和其它大型关系数据库应用程序的绝大多数数据库开发者使用的对象模型。
ADO——ActiveX数据对象(ADO)方式是DAO和RDO方式的继承者,它也有一个类似的对象模式。在ADO方式中,可编程对象展示了你的计算机上所有可获取的本地和远程数据源。在Visual Basic 6专业版中,通过使用新的ADO控件、通过把数据对象绑定到内置控件和ActiveX 控件、通过创建DHTML应用程序、以及通过使用新的数据环境设计器等方法,你都可以访问这些可编程数据对象。
Microsoft建议Visual Basic程序员在用Visual Basic创建新的数据库应用程序时使用ADO方法,而且Microsoft在Visual Basic 6的专业版中已经包含了几种专门为支持ADO而设计的特性。然而,ADO是一种刚刚出现的技术,只有当你牢固的掌握了前面已经讨论过的基本数据库编程概念之后,你才能去探索它。这些概念包括:使用内置的数据控件、用绑定控件显示数据、用事件过程管理记录和字段、用FlexGrid控件显示和排序记录等等。当你升级到ADO时,你将会以全新的角度去看待数据库信息。
2、使用ADO ActiveX控件
按照ADO的设计方案,ADO控件没有DatabaseName(数据库名称)属性让你直接连接到计算机中的某个数据库文件上。取而代之的是,ADO控件包括一个ConnectionString(连接字符串)属性让你连接到计算机上某个ActiveX数据源。一系列的对话框会帮助你完成这种连接,并且,你可以通过使用数据环境设计器(Data Environment Designer)在已有数据源基础上建立新的数据对象的方法来定制连接过程。(本课后面你就会学到如何完成这项任务)。
一旦你理解了ADO和DAO在实际应用中的区别,你就会发现ADO控件与内置的数据(Data)控件十分的相似。在下面这部分中,将学习如何将ADO控件添加到工具箱中、如何设置ConnectionString(连接字符串)属性、以及如何在你的窗体中用几个绑定控件显示数据库记录。你也会掌握ADO程序代码的基本用法。
使用ADO ActiveX控件的基本步骤如下:
安装ADO控件
ADO控件是个ActiveX控件,在程序中使用该控件之前,必须首先把它添加到工具箱中(Microsoft ADO Data Control 6.0 )。
创建ADO对象并绑定控件
单击工具箱中的ADO控件,在窗体上创建一个较小的矩形ADO对象。
就像前面内容中使用的数据(Data)控件一样,ADO控件用四个箭头创建了数据库的导航装置。程序运行时,当此对象可见并且连接到适当的数据库后,你就可以单击最左面的箭头移动到数据库的第一条记录,最右面的箭头移动到数据库的最后一条记录,中间两个箭头让你分别移动到前一条记录或后一条记录。
向窗体中添加两个文本框控件,用它们来显示数据库中的两个字段(绑定控件)。
创建数据源名称
如果使用的是Data(数据)控件,只需要简单地把数据控件的DatabaseName属性设置为你系统中的一个合法数据库的路径名称,就可以把它连接到数据库上了。但是,ADO的设计者为了将来的灵活性,要求完成更多的预处理步骤。这需要通过创建一个ActiveX数据对象来描述将要连接到的数据库记录。当创建数据对象时,可以有三个选项:你可以创建一个OLE DB文件;也可以创建一个ODBC数据源名称(DSN)文件;还可以建立一个OLE DB连接字符串。数据环境设计器(Data Environment Designer)正是为帮助你创建ActiveX数据对象而专门设计的(在本课后面部分你将会试一试这个设计器)。当然,你也可以通过使用ADO控件的ConnectionString属性来创建所需的文件。
![数据库编程教程(DELPHI基础教程:数据访问部件的应用及编程(二)[1])](/static/images/content_image/vegetables-2924239_1920.jpg)
更多文章:
数据库管理系统和数据库系统分别侧重(数据库,数据库管理系统,数据库系统,这三个分别是什么意思并举个实例)
2026年9月7日 17:00
springmvc的依赖(springMVC的注入方式有哪几种,这与springMVC依赖)
2026年9月7日 14:00
display flex 自动换行(overflow-y:hidden;overflow-x:auto;无效解决方法)
2026年9月7日 11:00
timestamp without time zone(Postgresql中to_date()函数使用问题)
2026年9月7日 09:40







