通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
资源搜索:
热门搜索:Linux VB C语言 PhotoShop Flash TCP/IP
   首页 | 文章 | 软件 | 动画 | 资源 | 励志 | 骗术 | 论坛 | 邮箱 | 会员中心 | 军事 | 科技 | 博客 | 图片 | 商城 | 最新更新 | 800g资源 | 爱心黑客
您现在的位置: 爱国者黑客 >> 资源 >> 程序设计 >> Delphi语言 >> 基础教程 >> 文章正文
Delphi客户服务器应用开发(八)
责任编辑:admin   更新日期:2005-8-6

18.4.2 应用程序分析

 

18.4.2.1 TDatabase部件的使用

 

  CSDEMO程序中定义了一个数据库模块部件——TDmEmployee,它是继承于TDataModuleTDataModule是在Delphi2.0中才出现的专门放置数据访问部件(TDatabaseTTableTQuery)的框架。其它涉及数据库访问的窗体,只要在uses语句中插入数据库模块所在的库单元,该窗体上的数据库部件就可引用相应的数据库访问部件。

  在TDmEmployee中定义了一个TDatabase类型的部件──EmployeeDatabaseEmployeeDatagase的主要属性及属性值如下:

 

18.15 EmployeeDatabase部件主要属性的取值

   ━━━━━━━━━━━━━━━━━━━━━━━

    属性        属性值

   ───────────────────────

    AliasName IBLOCAL

DatabaseName EmployeeDemoDB

KeepConnection True

LoginPrompt False

TransIsolation tiReadCommitted

Params USERNAME = SYSDBA

PASSWORD = masterkey

Connected True

  ━━━━━━━━━━━━━━━━━━━━━━━

 

AliasName属性所指定的IBLOCAL,必须已经在BDE中配置好,DatabaseName属性指定要使用的数据库名,该数据库名是由应用程序自己定义的,因此不反应到BDE中,该属性值被TTableTQueryDataSet部件引用,并且出现在DataSet部件的DatabaseName 下拉式列表框中。本例中的“EmployeeDemoDB”,被EmployeeTableSalesTable等所有DataSet部件引用。

ConnectedTrue表明,应用程序与数据库将保持联接。

KeepConnection属性为True,表明多次打开和关闭EmployeeDemoDB数据库中的任意表,应用程序将始终与数据库保持联接,这省却了重复注册的开销。

LoginPrompt 属性为False,表明应用程序自动处理与数据库的联接注册,因此,Params属性中定义了注册的用户名和口令:

 

  USERNAME = SYSDBA

PASSWORD = masterkey

 

TransIsolation属性为tiReadCommitted表明,如果存在多个同时事务,则某一事务只允许读由其它事务提交了的数据

  程序中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查询。DisableControlsEnableControls的作用是隐藏和显示数据变化。

 

18.4.2.3 InterBase触发器(Trigger)的应用

 

  在CSDEMO应用程序中,演示触发器应用的窗体是TFromTriggerDemo

 

在该窗体中包含两个TDBGrid对象。DBGrid1显示EmployeeTable中的数据DBGrid2显示SalaryHistoryTable中的数据。它们的主要属性及属性值如下:

 

18.16 EmlpoyeeTable部件主要属性的取值

   ━━━━━━━━━━━━━━━━━━━━━

 

[1] [2] [3] [4] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • 热门文章
    Olldbg常见问题
    汇编语言的艺术(组合语言的艺术)--观
    汇编语言的艺术(组合语言的艺术)--准
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言---程式设计 (4)
    虚拟8086模式
    SYS命令使用说明
    javascript + CSS 实现动态菜单显
    推荐文章
    自制Windows XP SP2自动安装光盘
    SQLServer注入工具改进版 v1.02
    使用photoshop CS进行自然美肤
    Photoshop绘制诺基亚手机
    PHOTOSHOP制作秋日之梦
    PHOTOSHOP鼠绘名模王爱萍
    Photoshop制作晶莹飞溅的水珠
    教你用PHOTOSHOP做放大镜
    鼠绘美女及服装修画全过程