1 / 32
文档名称:

桌面数据库开发.docx

格式:docx   大小:44KB   页数:32页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

桌面数据库开发.docx

上传人:fangjinyan2017001 2021/12/18 文件大小:44 KB

下载得到文件列表

桌面数据库开发.docx

文档介绍

文档介绍:1. 编写桌面数据库应用
使用数据集
数据集是以行和列的形式组织起来的数据的集合。其中,每一列具有相同的数据类 型,
而每行是由各列指定类型的数据组成的。数据集的每一列被称为一个字段,每一行 被称为一 个记录。 V C L 把数据集封装在一个称为 TDataSet 的抽象组件中。在 TataSet 中 引入了许多 用于操作和浏览数据集的属性和方法。
VCL 的数据库体系结构
在开发 Delphi 3 期间, V C L 的数据库体系结构已经有了令人注目的修改,为了在 D e l
p h i 程序中能方便地访问一些非 B D E 的数据集,它开放了数据集体系结构。 TDat
a S e t 类位于整个体系结构的顶层。 T D a t a S e t 是一个用来抽象地表示数据集的 记录和
字段的组件。为了实现对一些特殊的物理数据格式的访问,你可以在程序中覆盖 T D d a t a S e t 类的方法。
BDE 数据访问组件
在组件面板的 Data Access 页上可以找到用于访问和管理 B D E 数据集的 V C L 组件,
如图 2 8 - 1 所示。 V C L 用三种组件来表达数据集: T Ta b l e 、 T Q u e r y 和 T S t o r e d P r o c 。 T Ta b l e 是表达数据库表中的数据和结构的组件; T Q u e r y 是 利用 SQ L 对数据 进行查询并返回数据集的组件。 TS t o r e P r o c 是封装了 SQ L 服 务器上的一个存储过程的组件。本章中,我们将使用 T Ta b l e 组件讨论数据集。稍后 再介 绍 T Q u e r y 组件。
打开一个数据集
如果是访问 S Q L 服务器,那么在 打开数据库中的一个数据集之前,一定要先建立数 据
库连接。当你关闭掉数据库中最后一个数据集时,连接就会终止。 建立和断开数据库 的连接
都会有一些开销。如果你经常执行开关数据库的操作,那么应该利用 T D a t a b ase 组件来管 理对 SQL 服务器的连接。
在对数据集进行操作之前,必须先将它打开。我们用 O p e n ( ) 方法来实现。请看 示
例:
();
你也可以通过将数据集的 A c t i v e 属性设为 Tr u e 来打开它:
:=True;
使用第二种方法的开销更小一些,因为利用 O p e n ( ) 方法来实现最终还是要将数 据集
的 A c t i v e 属性设为 Tr u e 。不过,这点小开销可以忽略。
当数据集被打开后,我们就可以自由地操作和使用它了。在一系列的操作完成后, 不要忘
记要调用 C l o s e ( ) 方法将它关闭。如下:
();
当然,你也可以通过把 A c t i v e 属性设为 F a l s e 来关闭数据集。例如:
:=False;
浏览数据集
T D a t a S e t 提供了简单的方法来浏览数据集中的记录。 First() 将当前的记录 指针定位
在数据集中的第一个记录; L a s t ( ) 把当前的记录指针定位在数据集中的最 后一个记录; Ne
x t () 和 P r io r () 分别使当前记录指针向前或向后移动一个记
录。另外, M o v e B y ( ) 方法用于向前或向后移动一定数量的记录。
BOF 、 E O F 和循环
B O F 和 E O F 都是 TDa t a Set 中布尔类型的属性,分别表示当前记录是否是第
一个记录和最后一个记录。例如,如果需要遍历数据集中的每一条记录,最容易实现的 方法
就是利用一个 w h i l e 循环来使指针从第一个记录不断地向后移动直到 E O F 为真
;
While not do begin
Do something;
;
End;
书签
书签能在数据集中保存当前的位置,以便以后可以回到那个位置。在 D e l p h i 中 书签
的使用非常简单,你只需要使用一个属性。 Delphi 用 T B o o k m a r k S t r 类
型来表示书签, T Ta b l e 的 Bookmark 属性便是此种类型。当从 B o o k m a r k 中读 值时,
你就获取了一个书签;当你写到它时,就可以定位在书签所指示的记录位置。当 你对数据集
的某个地方感兴趣并且想能标记以便日后访问时,
Var
BM:TBookMark