Delphi中BDE数据库应用程序开发
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
13.1.1 TTable控件 2. TTable控件的主要方法 (1) 移动记录指针的方法。 常用的方法有四个:First:将记录指针定位 到表中第一条记录;Last:将记录指针定位 到表中最后一条记录;Next:将记录指针定 位到表中下一条记录;Prior:将记录指针定 位到上一条记录。在使用中,有时可也用数 据浏览控件中的TDBNavigator来代替。
13.1.2 TQuery控件 Query控件是一个数据集控件,和Table控件有 很多相同的属性、事件、方法。它提供一种 使用SQL语句进行数据访问的方法。该方法 可以访问数据库中的一个或多个表,TQuery 控件是程序员使用SQL语言开发数据库应用 程序的有力工具,可以使用TQuery控件对一 个远地的数据库SQL服务器进行访问,建立 客户∕服务模式的应用程序。
13.1.2 TQuery控件 (6) SQL属性:该属性用于设置该数据集使用 的SQL语句,单击该属性右边的按钮会打开 一个编辑框可以在该编辑框中输入SQL查询 语句,该语句可以使用多个参数,参数前面 使用冒号: 标注,可通过Params属性或 ParamByName方法设置参数值。 【例13-5】使用SQL语句动态实现往学生表中 添加数据。 程序如下
图13-1 数据访问页上的数据访问控件
13.1 数据访问控件 BDE数据集控件包含了用于各种BDE数据引擎 的数据集构件,这些构件封装了数据库连接、 数据表格、数据查询等特性。如图13-2所示。
图13-2 BDE数据集控件
13.1.1 TTable控件 TTable控件是数据库应用程序开发最常用的控 件,它用于连接数据库的一个基表,或基表 中的所有列和行,或部分列和行。在一个应 用程序窗体中放置一个TTable控件的过程如 下: (1) 在控件选择板上选择BDE页。 (2) 单击TTable图标。 (3) 单击鼠标,获得一个TTable控件。 (4) 为TTable控件设置有关的属性。
● 当数据集处于插入状态时,调用post方法, 将插入的新记录写回数据库表。 ● 当数据集处于SetKey状态时,调用post方法, 将数据集置成浏览状态(Browse状态)。
13.1.1 TTable控件 AppendRecord方法和InsertRecord方法: 它们都是用于在表中插入一条新记录,但 AppendRecord方法和InsertRecord方法比 Append和Insert方法更简单更方便一些,它 们直接在表中插入一条新记录,新记录的各 个字段值作为AppendRecord或InsertRecord 方法的参数传递给新记录并且不需显式地调 用post方法,将插入的新记录写回数据库表, 并且在完成后隐式地调用Post方法,用户不 必再用Post方法保存记录。
13.1.1 TTable控件 【例13-2】通过输入bookno查询书籍信息;根 据bookname进行模糊查询书籍信息;通 bookno、bookname、Author、Publishment、 BuyБайду номын сангаасime进行添加记录;通过数据库当前指针 删除记录;相应的结果通过DBGrid显示。 程序如下
第13章 BDE数据库应用程序开发概述 Delphi的控件板上提供了三页BDE数据库应用 程序开发中所要使用的控件。 BDE数据集页(BDE Page)和数据访问页 (Data Access Page)上的控件用于直接访 问数据库中的数据库表。 数据浏览控件:该页上的控件主要用于显示浏 览即显示、修改数据库中的数据信息,为用 户提供了一个可视化的界面。
13.1.1 TTable控件 (3) Exclusive、CanModify、ReadOnly属性。 以上属性都和对数据库的读、写操作有关, Exclusive属性指明数据表的打开方式,若其 值置为True,则表示以共享方式打开数据表。 能否对数据表进行读、写操作就要受到 ReadOnly属性的限制。CanModify属性是一 个状态属性,它反映了当前用户对数据表的 权限,其属性值不可修改。
13.1.2 TQuery控件 1. TQuery控件的常用属性 (1) Active属性:如果设置为True则会激活 SQL语句显示查询到的数据。 (2) DataBaseName属性:设置使用的数据 库的名字。 (3) DataSource设置来自第二个数据源的参 数。
(4) Filter和Filtered与TTable组件中的对应属 性作用相同,由于在TQuery 的SQL语句中可 以直接使用Where 子句,所以一般不使用这 两个属性。 (5) Params和ParamCount属性:设置SQL 语句使用的多个参数,可以在设计应用程序 时设置参数,也可以在运行时再设置参数。
13.1.1 TTable控件 (5) 数据集记录的更新方法。 数据集记录的更新操作主要有:记录的修改、 插入、删除等。常用的方法介绍如下。 Edit方法。 Append方法和Insert 方法。
13.1.1 TTable控件 Post方法:数据集中的记录被修改或插入新记 录时调用post方法将数据集的修改写回到数 据库表。根据数据集所处的状态不同,post 方法所产生的作用和效果是不一样的: ● 当数据集处于编辑状态时,调用post方法, 将当前记录的修改写回数据库表。
13.1.1 TTable控件 (5) TableName属性。与DataBaseName属性 配合使用的属性,它指明操作数据库的一个 数据表。 (6) IndexName、IndexFields、 IndexFieldsCount、IndexFieldsNames属性。 IndexName是一个索引名称列表,用于设置 基表的第二个索引。
(5) ExecSQL方法:运行当前数据集的SQL语 句,无参数。 (6) FieldByName方法:通过名字查找一个 字段其语法如下 function FieldByName(const FieldName: string): TField; 比如下面的语句使用FieldByName方法将 Edit1中输入的数值赋值给字段Size: Query1.FieldByName('size').AsInteger := StrToInt(Edit1.Text);
(7) RequestLive属性:该属性决定基表数据是 否可以修改。 (8) FieldCount属性:返回该数据集中字段的 数量 (9) Fields属性:列出数据集中所有非汇总的字 段组件 (10) FieldValues属性:用于访问数据集当前活 动记录中所有字段的值。
13.1.2 TQuery控件 2. TQuery 组件的主要方法 (1) Open方法:用于激活数据集控件。 (2) Close方法:用来关闭数据集。 (3) Append方法:在数据集的最后添加一条 新的空记录,然后可以通过FieldValues属性 添加各个字段的值,无参数。 (4) Delete方法:删除活动记录,并将光标移 动到下一条记录无参数。
13.1.1 TTable控件 SetFields方法,用来修改记录的字段值,可 一次修改当前记录的所有字段或任意个字段 值。语法:SetFields([字段1、字段2、…]); Delete方法,删除当前指针所指的记录,并 自动将指针指向下一条记录,同时将数据集 置为Browse状态。 Cancel方法取消当前的操作。在没调用Post 方法之前使用,将对记录的修改写回数据库 表时,调用Cancel方法,可以将记录恢复到 没有修改之前的状态。
13.1.2 TQuery控件 在一个应用程序窗体中放置一个TQuery控件 的过程如下: (1) 在控件选择板上选择BDE页。 (2) 单击Query图标。 (3) 在窗体内单击鼠标,获得一个TQuery控 件。 (4) 为TQuery控件设置有关的属性。 TQuery 控件提供了一些TTable控件不具备的功能, 它们是: (1) 多表联接查询 (2) 嵌套查询(Select中包含着Select子查询)
第13章 BDE数据库应用程序开发概述 BDE数据库应用程序首先是利用Delphi提供的 数据库控件与BDE建立联系,然后再通过 BDE与数据库联系。 13.1 数据访问控件 13.2 数据库的字段对象 13.3 数据浏览控件
13.1 数据访问控件 这里主要介绍TTable控件、Tquery控件、 TdataSource控件,用于访问数据库的一个或 若干个表中的一些字段数据访问控件的主要 用途是连接数据集控件和数据浏览控件进行 数据传送的桥梁,它们并没有直接联合特定 的数据访问机制,如BDE数据引擎,而是通 过数据集控件或XML文档提供数据源。
13.1.1 TTable控件 (7) MasterSource属性。 该属性只用于建立主从表的应用程序中设置 从属表关联的主表对应的数据源。 (8) MasterFields属性。 (9) State属性。 表示目前数据表所处的状态。
13.1.1 TTable控件
(10) Bof属性。 用于判断当前记录是否是数据集的第一条记录。 (11) Eof属性。 用于判断当前记录是否是数据集的最后一条记 录。 (12) RecordCount属性。 确定当前该数据集中记录的总数。
13.1.1 TTable控件 (4) 记录查找方法。 Delphi提供了两种方式在数据库表基于索引 中查找记录:Goto方式和Find方式。 使用Goto方式其步骤如下: 1) 确保要查找的字段是关键字段或辅助索引 字段。 2) 调用SetKey方法把与表对应的TTable置 成查找状态。 3) 把查找值赋给相应的字段来设定查询条件。 4) 调用查询方法,并测试它的返回值检验查 找是否成功。
13.1.1 TTable控件 (2) 设定数据库表的应用范围。 对于数据库中存放大量的表格,为限定应用 程序访问数据库表的范围,要用到Delphi提 供的下列方法: SetRangeStart方法:用于指定检索范围内 的开始记录。 SetRangeEnd方法:用于指定检索范围的结 束记录。
13.1.1 TTable控件 ApplyRange方法用于使一个由 SetRangeStart和SetRangeEnd,或由 EditRangeStart和EditRangeEnd所确定的范 围生效。调用该方法后,只允许应用程序对 该范围内的记录进行操作。 CancelRange与ApplyRange方法相反, CancelRange方法是去掉一个正在生效的范 围。 SetRange方法指明一个范围并在数据集中应 用。
13.1.1 TTable控件 (4) Filter属性与Filtered属性。 Filter属性用于指定数据集的筛选器,即相当 于使用SQL语句中的Where语句,这样应用 程序中只能操作那些符合筛选器设定条件的 记录,。 【例13-1】设计DBDEMOS数据库中的 customer.db表,显示company字段的值为字 母A开头的顾客信息。 程序如下
13.1.1 TTable控件 Locate方法没有这种限制,它可以直接查询数 据库表中的非索引字段,也可以进行对多个 字段的组合查询,Locate函数的基本格式如 下: function Locate(const KeyFields:string;const KeyValues:Variant; Options:TlocateOptions):Boolean;overrid e;
13.1.1 TTable控件 1. TTable控件的主要属性 (1) Active属性。 Active属性用来设置是打开还是关闭与Table 相连的数据表。 (2) DatabaseName属性。 指明数据库的名字,常用的是它的别名。一 般是使用BDE、SQL Explorer、ODBC建立 的数据库别名。
13.1.1 TTable控件 (3) 数据集控件与数据浏览控件的连接。 数据集控件TTabel和TQuery具有三个方法, DisableControls 方法、EnableControls方法、 Refresh方法用于控制数据集控件和与其相连 的数据浏览控件之间的连接,以及控制数据 浏览控件的显示。