分享
 
 
 

Delphi数据库编程教程(八)

王朝delphi·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

第二节浏览和导航

创建访问数据库数据的表单有两种不同的方法。第一种方法是使用Database Form Expert(数据库表单专家)。但不幸的是,数据库表单专家仅仅只可以处理数据集组件中的BDE-aware(可视化BDE)子集。第二种方法是手工放置和连接所有的数据组件。

定义用户界面(Defining the User Interface)

我们将分三步建立自己的数据浏览表单。第一步,为表单定义用户界面;第二步,增加和配置数据访问组件;第三步也是最后一步,增加数据可视化控件。

在你开始前,关闭所有打开的工程。接着进行下面的步骤:

选择File | New application。这将创建一个新的工程,包括一个空的表单、一个单元和一个工程文件;

在表单上增加一个PageControl组件。该组件位于组件面板的Win32页。让它的名称为默认名:PageControl。

在PageControl上增加TabSheets(在PageControl上右击并选择"New Page")。设置第一个TablSheet1的标题为“Browse(浏览)”,第二个为“Edit(编辑)”。

在表单上放置一个DataSource(Dataaccess页)、一个ADOTable和一个ADOConnection(ADO页)组件。名称全为其默认名。

选择PageControl组件的第一页并在Browse(浏览)标签单上放置一个DBGrid(Data Controls页)组件。

放置一个DBNavigator组件(Data Controls页)。导航器按钮用于移动表中的记录。

通过使用对象检视器设置组件间的连接,如下:

DBNavigator1.DataSource = DataSource1

DBGrid1.DataSource = DataSource1

DataSource1.DataSet = ADOTable1

ADOTable1.Connection = ADOConnection1

ADOConnection1.ConnectionString = ...

ADOConnection1.LoginPRompt = False

ADOTable1.Table = 'Applications'

注:如在第二章中讨论的一样,ConnectionString属性指出数据存储的物理位置和我们的访问方式。你可以使用与第二章同样的连接字符串,或者通过调用连接字符串编辑器自己建立一个。

设置ADOConnection组件的LoginPrompt属性为False,阻止数据库登录界面出现。既然我们没有为数据库设置任何密码,我们也不需要登录提示。

字段(Fields)

当我们想为用户提供整个记录集(表中的数据)的时候,可以使用DBGrid组件。即使我们可以使用DBGrid让我们的用户在表中添加、编辑和删除记录—但最好的方法是为表中的每个字段使用Field(字段)对象。字段对象多用于应用程序中数据显示和编辑的控制。通过使用Fields Editor(字段编辑器),我们可以为表中的每一列设置固定的字段对象列表。字段编辑器可通过双击DataSet组件调用。为了给数据集的固定字段列表增加字段,可以右击列表并选择Add Fields(增加字段)。

除了为用户显示表中的所有数据(在DBGrid中)外,我们还需要使用field-oriented(面向字段)的数据可视化组件如:编辑框。例如,DBEdit组件是TEdit类的数据可视化版本。它是任何数据输入程序的积木。

在表单中放置DBEdit并把它与表的字段相连的最简单的方法如下:

通过双击ADOTable组件调用Fields editor(字段编辑器);

选择Name字段,如例。让Page Control的第二个标签成为被选项;

在表单上拖动Name字段。

当你在标签单上放下Name字段时,Delphi会在上面放置一个Label和一个DBEdit组件。Label组件的Caption(标题)与被拖动字段的DisplayLabel(显示标签)属性一样。DBEdit组件通过它的DataSource属性与数据集的数据源相连。如果你从字段编辑器中选择多个字段并把它放置在表单上,Delphi将在表单上放置同样多的Label/DBEdit组件。

“它活了!”(It's alive)

OK,我们现在所需要做的是激活连接并滚动记录。一个数据集(ADOTable)组件的Active(激活)属性指出我们是否与一个表相连。设置Active为True或调用Open方法将使ADOConnection组件的CONonnected属性为True—并在相关的数据可视化控件中显示数据。

首先、接着、最后......(First, Move by, Last,...)

现在我们作最后的准备。接下来我们了解一下怎样浏览记录集。

DBNavigator组件为浏览记录集提供了一个友好而简单的工具。除了它的浏览能力外,DBNavigator还提供了方法操作数据,如:插入、删除或取消改变。例如,如果我们点击Delete(删除)按钮,相应的记录将会从记录集中删除。每个按钮都是可选的,你可以随意的组合和匹配它们。

通过按钮设置,我们可以跳到最后一个记录或移到上一个记录。例如,点击Last(最后)按钮设置当前记录为记录集的最后一条记录并使Last(最后)和Next(下一个)按钮失效。点击Last按钮与调用数据集的Last方法具有相同的功效。

需要注意的是,DBNavigator不能处理的浏览操作之一是按一定的数量间隔对记录进行向前或向后的移动。数据集的MoveBy方法被用于定位相对于记录集当前记录的任一记录的位置。

这就是本章。现在我们将准备学习数据集的编辑和查询,这将在本教程的接下来的章节中进行说明......

2002年12月26日 20:49

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有