程序中EmployeeDatabase的应用还与事务控制等有关。下文中会介绍这方面的内容。
18.4.2.2 不同数据库表的切换
在许多数据库应用中都要在不同数据库表之间相互切换,以响应用户输入条件或系统状态的变化。这时,往往需要特别的处理,例如改变光标形状或隐藏数据改变等,尤其是在客户/服务器应用程序中。因为是用SQL语句访问远程数据库,有时还要在服务器端执行计算任务,所以客户端的数据变化会有一定的间隔,因此应该让用户明白发生了什么。下面是CSDEMO在数据库表切换时的处理办法:
procedure TFrmViewDemo.ShowTable( ATable: string );
begin
Screen.Cursor := crHourglass; { 向用户提示当前操作状态 }
VaryingTable.DisableControls; { 隐藏数据变化 }
VaryingTable.Active := FALSE; { 关闭原来的数据库表 }
VaryingTable.TableName := ATable; { 更新数据库表名 }
VaryingTable.Open; { 打开数据库表 }
VaryingTable.EnableControls; { 显示所作的修改 }
Screen.Cursor := crDefault; { 重新设置光标形状 }
end;
crHourglass型光标表明正在执行SQL查询。DisableControls和EnableControls的作用是隐藏和显示数据变化。
18.4.2.3 InterBase触发器(Trigger)的应用
在CSDEMO应用程序中,演示触发器应用的窗体是TFromTriggerDemo;
在该窗体中包含两个TDBGrid对象。DBGrid1显示EmployeeTable中的数据,DBGrid2显示SalaryHistoryTable中的数据。它们的主要属性及属性值如下:
表18.16 EmlpoyeeTable部件主要属性的取值 ━━━━━━━━━━━━━━━━━━━━━ 属 性 属 性 值 ───────────────────── DatabaseName EmployeeDemoDB
IndexFieldName Emp_No
TableName EMPLOYEE
━━━━━━━━━━━━━━━━━━━━━表18.17 SalaryHistoryTable部件主要属性的取值 ━━━━━━━━━━━━━━━━━━━━━ 属 性 属
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




