手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

Delphi客户服务器应用开发(八)

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
表中的记录,并修改所有相关的表, 以维护数据的一致性。其属性如下:

 

18.20 DeleteEmployeeProc部件主要属性的取值

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

   属性名         

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

   DataBaseName EmployeeDemoDB

ParamBindMode PbByName

Params EMP_NUM(输入参数,整型)

StoredProcName DELETE_EMPLOYEE

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

 

  存储过程DELETE_EMPLOYEE的程序如下:

 

PROCEDURE DELETE_EMPLOYEE

DECLARE VARIABLE any_sales INTEGER;

BEGIN

any_sales = 0;

SELECT count(po_number)

FROM sales

WHERE sales_rep = :emp_num

INTO :any_sales;

IF (any_sales > 0) THEN

BEGIN

EXCEPTION reassign_sales;

SUSPEND;

END

UPDATE department

SET mngr_no = NULL

WHERE mngr_no = :emp_num;

UPDATE project

SET team_leader = NULL

WHERE team_leader = :emp_num;

DELETE FROM employee_project

WHERE emp_no = :emp_num;

DELETE FROM salary_history

WHERE emp_no = :emp_num;

DELETE FROM employee

WHERE emp_no = :emp_num;

SUSPEND;

END

 

Parameters:

EMP_NUM INPUT INTEGER

 

  从上述存储过程的例子中,我们看到存储过程在维护服务器上的数据一致性方面有很强的能力,它节省了系统开销,提高了客户端的性能。

 

18.4.2.5 事务控制编程

 

  在客户/服务器应用程序中,事务控制是一项很重要的技术。它对于提高系统的可靠性,维护数据一致性有着重要的意义。

  Delphi中提供了事务的隐式和显式两种控制方法。其中显式控制的性能较高,下面介绍Delphi事务显式控制的编程方法。

  Delphi担当事务控制任务的部件是TDatabase TDatabase 用于事务控制的属性是TransIsolation,方法有StartTranstionCommitRollback。关于这些属性和方法作用和使用方法请参阅客户/服务器事务管理。

  在CSDEMOTDatabase 部件为EMployeeDatabase,其TransIsolation属性值为tiReadCommitted,意为如果存在多个同时事务访问数据库,则其中任一事务只能读其它事务提交的了数据。

  CSDEMO中演示事务控制的窗体是TFrmTransDemo

  DBGrid1中显示EmployeeTable中的内容。当窗口显示时,EmployeeDatabase开始一次事务控制并激活EmployeeTable

 

procedure TFrmTransDemo.FormShow(Sender: TObject);

begin

DmEmployee.EmployeeDatabase.StartTransaction;

DmEmployee.EmployeeTable.Open;

end;

 

当窗口被关闭或隐藏时,

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!