第二节浏览和导航
创建访问数据库数据的表单有两种不同的方法。第一种方法是使用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
本文地址:http://com.8s8s.com/it/it5468.htm