本教程展示了如何使用 InterBase Express 开发一个通用的数据库应用程序。InterBase Express(IBX)是一套数据访问组件,提供了从 InterBase 数据库访问数据的手段。
你将使用 InterBase 和数据库组件来开发这个应用程序。
本教程基于 CsDemos,这是 RAD Studio 安装时自带的一个示例。
注意:在运行示例之前,请确保 InterBase 服务器正在运行。
1. 创建主表单(IBX 通用教程)
本节创建一个主表单,用于选择显示哪个 InterBase Express 示例。它的界面很简单:每个示例对应一个按钮。
1.1. 创建项目和主表单
创建一个 VCL 表单项目。
对于 Delphi,点击主菜单项 File > New > VCL Form Application - Delphi。
调整新表单的属性:
- 将 Caption 设置为 "Client/Server Concepts"。
- 将 Name 设置为 "FrmLauncher"。
- 将表单的 Height 改为 300,Width 组件改为 250。
保存表单和项目:
- 对于 Delphi,将文件保存为 Frmmain.pas。将项目保存为 CSDemos.dproj。
1.2 增加按钮
这个表单为每个示例都有一个按钮。现在添加一个按钮用于第一个示例。
在表单顶部放置一个 TButton,并按下图所示调整大小。将 Caption 设置为 "Show a &View in action",这样按 ALT+v 就相当于点击 TButton。将 Name 设置为 "BtnViews"。

这个 TButton 显示一个用于查看不同数据库表的表单。在下一节创建那个表单后,你将为这个 TButton 添加一个点击事件处理程序。
2. 查看不同表格(IBX 通用教程)
本节创建一个表单,允许你查看不同的数据库表。它使用随 RAD Studio 安装的 EMPLOYEE 数据库。
在放置组件后,表单如下所示:

3. 创建表单
首先,向项目中添加另一个 VCL 表单。在项目管理器中,右键点击项目并点击菜单项 Add New > VCL Form。
调整新表单的属性:
- 将 Caption 设置为 "Table/View Switcher"。
- 将 Name 设置为 "FrmViewDemo"。
- 将表单的 Height 改为 330,Width 组件改为 400。
- 将 OldCreateOrder 设置为 true。
保存表单:
- 对于 Delphi,将文件保存为 FrmViews.pas。
4. 添加数据库组件
首先添加数据库组件。稍后,你将配置数据感知组件以从数据库组件获取数据。由于数据库组件是非可视的,你可以将它们放置在表单的任何位置,但你应该将它们放置在不遮挡可视组件的地方。
将代表 InterBase 数据库连接的 TIBDatabase 拖放到表单上。双击新的 TIBDatabase 以显示数据库组件编辑器或连接代理组件编辑器。通过填写对话框设置 TIBDatabase 的属性:
在本教程中,你使用的是随 RAD Studio 安装的 EMPLOYEE 数据库。其路径通常是 C:\Users\Public\Documents\Embarcadero\Studio\21.0\Samples\Data\EMPLOYEE.GDB。如果你设置了用户名和密码,LoginPrompt 可以是 false。
注意:如果你像本示例中那样在应用程序中嵌入密码,任何人都可以在不登录的情况下访问此数据库。
- 向表单添加 TIBTransaction。将 TIBDatabase 的 DefaultTransaction 属性设置为 "IBTransaction1"。
- 在表单上放置 TIBDataSet。将 Transaction 属性设置为 "IBTransaction1"。通过下拉菜单将此 TIBDataSet 连接到数据库,将 Database 属性设置为 "IBDatabase1"。将 Name 属性设置为 "VaryingDataSet"。
- 向表单添加 TDataSource。此组件作为 TIBDataSet 和数据感知控件之间的接口。使用下拉菜单将 TDataSource 的 DataSet 设置为 "VaryingDataSet"。将 Name 属性设置为 "VaryingTableSource"。
5. 添加可视组件
现在添加显示数据库数据的组件,并将它们连接到数据库组件。
添加两个 TPanel 组件,按下图所示放置它们。这些 TPanel 提供了一个框架,用于定位可视组件。按图所示放置它们,填满表单。

向 "Panel1" TPanel 添加组件。
- 在 "Panel1" 上放置一个 TDBNavigator 以导航数据库记录。将 DataSource 设置为 "VaryingTableSource"。TDataSource 作为 TIBDataSet 和数据感知控件之间的接口。
- 向 "Panel1" 添加一个 TSpeedButton。
- 要设置按钮面,在对象检查器中为 TSpeedButton 点击 Glyph 属性旁边的省略号 (...) 按钮以显示图片编辑器对话框。点击 Load... 按钮选择按钮面的位图文件。你可以从 CsDemos 示例中的 Frmviews 单元中的 TSpeedButtons 获取所需格式的位图。选择 TSpeedButton,打开图片编辑器,点击 Save... 并保存为位图文件。
- 将 GroupIndex 设置为 1。
- 将 Name 设置为 "BtnShowEmployeeClick"。
- 添加另一个 TSpeedButton 并将其放置在另一个 TSpeedButton 旁边。像你为另一个 TSpeedButton 设置的那样设置其 Glyph 和 GroupIndex 属性。
- 在 "Panel1" 的右侧放置一个 TBitBtn。设置以下属性:
- 像你为 TSpeedButtons 那样设置 Glyph。
- 从下拉菜单中将 Kind 设置为 "bkClose"。此设置使按钮在点击 TBitBtn 时执行关闭对话框的命令。
- 将 Caption 设置为 "E&xit",这样按 ALT+x 就相当于点击按钮。
- 将 Name 设置为 "BtnShowPhoneListClick"。
向 "Panel2" TPanel 添加组件。
- 在 "Panel2" 上放置一个 TDBGrid。调整大小以填满 TPanel。使用下拉菜单将 DataSource 设置为 "VaryingTableSource"。
6. 添加代码
通过添加一个例程和为 TSpeedButtons 创建事件处理程序来完成表单。你不需要为 TBitBtn 添加事件处理程序,因为这个按钮已经与点击它关联了一个命令。
添加一个 ShowTable 例程,用于显示指定的表。
Delphi
在 FrmViews.pas 的类型部分的私有部分添加以下过程:
procedure ShowTable(ATable: string);
你可以通过按 CTRL-SHIFT-C 使用类补全来在实现部分创建此函数的存根。
为新过程添加以下代码:
procedure TFrmViewDemo.ShowTable(ATable: string);
begin
Screen.Cursor := crHourglass; { 显示用户正在进行的操作 }
VaryingDataSet.DisableControls; { 隐藏数据更改 }
VaryingDataSet.Active := FALSE; { 关闭表 }
VaryingDataSet.SelectSQL.Text:= 'SELECT * FROM '+ ATable; { 更新名称 }
VaryingDataSet.Open; { 打开表 }
VaryingDataSet.EnableControls; { 绘制更改 }
Screen.Cursor := crDefault; { 重置指针 }
end;
ShowTable 执行显示给定表数据所需的所有操作。特别是,ShowTable 设置 TIBDataSet SelectSQL 以从当前表中选择数据。
最后,添加事件处理程序。在 FrmViews.pas 的设计选项卡中,双击第一个 TSpeedButton。这会添加事件处理程序的原型并为其创建存根代码。在实现部分放置以下代码:
procedure TFrmViewDemo.BtnShowEmployeeClick(Sender: TObject);
begin
ShowTable('EMPLOYEE');
end;
类似地,为第二个 TSpeedButton 添加一个事件处理程序,使用以下代码:
procedure TFrmViewDemo.BtnShowPhoneListClick(Sender: TObject);
begin
ShowTable('PHONE_LIST');
end;
这些例程简单地调用 ShowTable 来设置你查看的表。
7. 显示表格查看表单
修改在创建主表单时创建的主表单,以便该表单上的按钮显示你刚刚创建的表单。
在 Frmmain.pas 的实现部分开头添加以下内容,以便主表单知道刚刚添加的 FrmViews 单元:
uses
FrmViews; { 查看示例 }
接下来,在 Frmmain.pas 的设计选项卡中,双击主表单的按钮以添加主表单按钮的事件处理程序。使用以下代码作为事件处理程序:
procedure TFrmLauncher.BtnViewsClick(Sender: TObject);
begin
FrmViewDemo.ShowModal;
end;
ShowModal 以模态对话框的形式显示表单,因此应用程序在对话框关闭之前不会运行。在这种情况下,只要表格查看表单可见,主对话框就会暂停。
8. 运行应用程序
构建并运行应用程序。主表单显示:

点击按钮以显示表格查看表单:

注意 TDBGrid 是空的,因为没有选择表。点击左侧的 TSpeedButton 以显示 EMPLOYEE 表:

点击另一个 TSpeedButton 显示 PHONE_LIST 表。
点击标记为 Close 的 TBitBtn 关闭表格查看表单。
646

被折叠的 条评论
为什么被折叠?



