Delphi7--数据库应用开发

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第14章数据库应用开发本章要点:数据库的基本概念Delphi中的DatabaseDesktop应用程序的使用TTable组件的常用属性、方法、事件及其使用TQuery组件的常用属性、方法、事件及其使用常用的数据控制组件SQL语言编程14.1循序渐进学理论14.1.1数据库的基本概念1.数据库应用概述目前,人类社会已经进入了信息社会,用“信息爆炸”来描述这个社会的信息之多并不过分。对于非专业人员来说,没有必要区分信息和数据的概念,通常所说的信息处理也可以看成是数据处理,用计算机进行数据处理已经成为很多行业日常工作不可缺少的一个环节。数据库技术可以简单地理解为最新的数据处理技术,它已经深入到我们生活的方方面面,如果缺少了它,很难想象世界将会变成什么模样。2.数据库的基本概念所谓数据库(DatabaseDB),其实就是存放在计算机的外存储器中的相关数据的集合,可以形象地看作是数据的“仓库”,它是通过文件或类似于文件的数据单位组织起来的。数据库只是数据的集合,建立数据库的目的是为了使用数据库,为了对数据库中的数据进行存取,必须要使用一种软件——数据库管理系统(DatabaseSystemManagement——DBMS)。一个完整的数据库系统由数据库、数据库管理系统、数据库应用程序、计算机软件和硬件系统以及DBA组成。3.数据模型与关系数据库有关表的性质:(1)表中的每一列均不可再分;(2)表中的每一列数据的数据类型是相同的;(3)表中的两列不能取相同的名字;(4)表中不允许有完全相同的两行,即任两条记录必须能够区分;(5)交换行和列的顺序,不改变表的含义。14.1.2利用数据库桌面创建数据库1.数据库桌面的作用DatabaseDesktop(数据库桌面)是Delphi7.0自带的一个数据库管理工具,DatabaseDesktop的主要作用如下:(1)创建和维护数据库(2)维护数据库别名(3)创建SQL文件和执行SQL命令2数据库的建立本节通过一个实际的通讯录数据库的建立来讨论在Delphi中建立数据库的方法。字段名字段类型字段宽度说明好友号Alpha8Alpha相当于字符型姓名Alpha10好友类别Alpha10年龄Short系统默认为2短整型出生日期Date由系统指定日期型通讯地址Alpha30邮政编码Alpha6电话号码Alpha15电子邮件Alpha15QQ号码Alpha10交往大事Memo系统默认备注型存放大量文字创建一个Paradox数据库表的步骤如下:(1)在“DatabaseDesktop”应用程序中,执行【File】→【New】→【Table】命令,将会出现如图14-2所示的选择表类型的对话框。在【Tabletype】下面的列表框中可以选择表的类型。图14-2“选择表类型”对话框(2)选择默认的类型“Paradox7”并单击【OK】按钮,系统将弹出如图14-3所示的创建表结构对话框。在该对话框中可以定义表的结构,即表的每个字段的字段名、字段类型、字段宽度和主键等,并可建立索引。(3)在“FieldName”列的下面输入字段名,如“好友号”,然后在“Type”列的下面单击右键,将会出现如图14-4所示的“字段类型”下拉菜单。图14-3【创建表结构】对话框图14-4【字段类型】下拉菜单创建了的多个字段【定义辅助索引】对话框【保存索引】对话框输入了几条记录的【通讯录】表数据库别名有两种:公共别名(PublicAlias)和项目别名(ProjectAlias)。本书只讲公共别名,该别名保存在BDE配置文件IDAPI32.CFG中,在任何工作目录中都能访问,并且对任何使用BDE的应用程序都是可见的。通过为子目录“D:\DelphiApp\14”建立一个公共数据库别名App14来说明数据库别名的创建方法。创建步骤如下:(1)在DatabaseDesktop应用程序中执行【Tools】→【AliasManager】命令,将会出现如图14-10所示的【AliasManager】对话框。3.数据库别名的建立图14-10【AliasManager】对话框图14-11新建数据库别名的【AliasManager】对话框14.1.3利用BDE组件开发数据库应用程序的模式1.BDE组件2.DataAccess组件3.DataControls组件14.1.4TTable组件1.TTable组件的常用属性(1)DatabaseName属性该属性用来指定要连接的物理数据库的名字,可以是数据库别名、数据表文件所在的磁盘路径。(2)TableName属性该属性用来设定TTable组件所操作的数据表名称,通常在DatabaseName属性设置后设置。(3)TableType属性该属性用来设定与TTable组件相连接的数据库表的类型。(4)Active属性该属性用来打开或关闭TTable组件形成的数据集合,是一个逻辑型属性。(5)ReadOnly属性该属性是逻辑型属性,用来决定TTable组件形成的数据集是否可以修改。(6)Modified属性该属性是一个只读属性,只能在程序运行中使用。该属性用来表示数据表中的数据是否被修改过。(7)Fields属性该属性是一个数组属性,它的每一个元素代表着数据集的一个字段,是Tfield类型的,本属性又称Fields集合。(8)Bof属性该属性用来指示记录指针是否指向数据集的第一条记录。(9)Eof属性该属性用来指示记录指针是否指向数据集的最后一条记录。2.TTable组件的常用方法(1)FieldByName方法该方法用于引用数据集中的某个字段,该方法的函数形式如下:FunctionFieldByName(ConstFieldName:string):Tfield(2)记录指针移动方法TTable组件是一种数据集组件,数据集中有一个记录指针,它指向的记录称当前记录。可以通过移动记录指针来改变当前记录,用户一般对当前记录进行操作。记录指针移动的相关方法如表14-2所示。记录指针移动方法功能First方法将记录指针移到第一条记录的位置Last方法将记录指针移到最后一条记录的位置Prior方法将记录指针移到上一条记录的位置Next方法将记录指针移到下一条记录的位置MoveBy方法将记录指针从当前记录开始向前或向后移到若干条记录,格式为:FunctionMoveBy(Distance:Integer):Integer;参数Distance可以为正负整数,如果为正整数则指针向表尾方向移动Distance条记录,为负数则表示向表头方向移动Distance的绝对值条记录表14-2TTable组件记录指针移动方法(3)查询记录的相关方法①GotoKey方法该方法用于精确查找,GotoNearest方法用于不精确查找,是一个过程,没有返回值,它把记录指针定位于最接近于查找值的记录位置上。处理过程基本同GotoKey。②FindKey方法其格式如下:functionFindKey(constKeyValues:arrayofconst):Boolean;与GotoKey方法的区别在于:GotoKey不带参数,而FindKey带有参数,其参数就是要索引查找的值。(4)数据操作的相关方法数据操作方法名称功能说明Append在数据表的末尾追加一条空记录,并将记录指针指向该记录Insert在当前记录之后插入一条空记录,并将记录指针指向该记录Delete删除当前记录,并将指针移向下一条记录Edit将数据表置于编辑状态,此时用户可以修改数据表中的数据Poast把对数据表数据的修改结果和新添加的数据保存到数据表中Cancel取消对数据表中数据的修改和添加Refresh根据数据表中的数据刷新界面,即重新从数据表中获取数据EmptyTale将数据表清空,即删除数据表中的所有记录3.TTable组件的常用事件(1)Before×××事件事件发生时机及作用BeforeCancel该事件在调用数据集的Cancel方法时,在取消操作发生之前触发,是调用Cancel方法发生的第一个动作BeforeClose在关闭数据集之前发生,是在数据集关闭之前发生的第一个动作BeforeDelete该事件在调用数据集的Delete方法时,在删除操作发生之前触发,是调用Delete方法发生的第一个动作,通常用来对删除进行确认BeforeEdit该事件在调用数据集的Edit方法时,在把数据表置为编辑模式之前触发,是调用Edit方法发生的第一个动作BeforeInsert该事件在调用数据集的Append或Insert方法时,在插入或添加操作发生之前触发,是调用Append或Insert方法发生的第一个动作BeforeOpen在数据集被打开之前发生的第一个动作BeforePost该事件在调用数据集的Post方法时,在更新操作发生之前触发,是调用Post方法发生的第一个动作(2)After×××事件事件发生时机和作用AfterCancel在调用Cancel方法之后发生AfterClose在关闭数据集之后发生AfterDelete在数据集调用Delete方法删除记录之后发生AfterEdit在数据集调用Edit方法之后发生AfterInsert在数据集对Insert或Append方法调用之后发生AfterOpen在数据集被打开之后发生AfterPost在数据集调用Post方法保存数据之后发生(3)On×××事件事件发生时机和作用OnNewRecord在添加一个新的记录时被触发。该事件在BeforeInsert事件之后发生,在AfterInsert事件之前发生。OnFilterRecord该事件当数据集过滤器处于激活状态(Filter属性为True)并且将记录指针移到其他记录时发生14.1.5TDataSource组件的使用TDataSource组件是使用最多的数据访问组件,用来连接数据集组件和数据控制组件。TDataSource组件的属性比较少,最重要的是DataSet属性。该属性指出要与哪一个数据集组件建立联系,它的属性值是某一个数据集组件的对象名称,如:TTable、TQuery等组件的名称。TDataSource组件通过DataSet属性与数据集组件建立连接后,数据控制组件就可以借助TDataSource组件与数据集组件(如DBEdit和DBGrid等组件)建立连接,这样就可以成功地访问数据库中的数据了。14.1.6常用的数据控制组件1.TDBNavigator组件TDBNavigator组件中各种按钮的功能如表FirstPriorNextLastInsertDeleteeEditPostCancelRefresh图14-16TDBNavigator组件及其按钮名称按钮名称按钮功能First将数据集的记录指针移到第一条记录Prior将数据集的记录指针移到前一条记录Next将数据集的记录指针移到后一条记录Last将数据集的记录指针移到最后一条记录Insert在当前记录之后插入一条记录Delete删除当前记录,当ConfirmDelete属性设置为true时,会弹出删除确认对话框Edit使数据集处于编辑状态Post把对数据集的修改(Insert或Edit),保存到实际的数据表中Cancel取消对数据集的修改Refresh根据数据表的内容,刷新数据组件中的数据2.TDBGrid组件TDBGrid组件是用于显示和编辑数据库表中记录信息的重要组件,该组件以列表的形式来显示数据库中的数据记录。它包含了数据的行和列。在网格中每一行代表数据集中的一行,每一列代表数据集中的一个字段。它的用法很简单,是最常用的数据控制组件之一。组件图标为“”。3.TDBListBox组件TDBComboBox组件TDBListBox组件TDBComboBox组件类似于TListBox组件和TComboBox组件,TDBListBox组件用于在一个列表中显示或设置字段的值,TDBComboBox用来在一个文本框中显示或设置字段的值。4.TDBImage组件该组件用来显示图像字段内容。它有三个重要

1 / 58
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功