小编Mat*_*att的帖子

Delphi 2010 Datasnap - 设计查询

我正在研究将基于SQL的胖客户端Delphi应用程序移动到Multi Tier瘦客户端,并且一直在考虑在Delphi 2010中使用Datasnap.我已经完成了Bob Swart撰写的白皮书并进一步扩展了这一点.

我的主要问题是,我想让服务器端在连接和SQL查询方面高效,因为多个查询正在运行并且同时保持打开以查询数据,任何人都可以向我指明如何获取指导设计一个真实世界的Datasnap Server应用程序,因为该演示没有详细介绍.

谢谢马特

delphi delphi-2009 datasnap delphi-2010

5
推荐指数
1
解决办法
1164
查看次数

使用COMMIT和ROLLBACK进行多个SQL更新的Delphi应用程序

在将SQL查询嵌入到多次调用SQL for Table Updates的应用程序中时,是否可以使用SQL BEGIN TRANSACTION,COMMIT TRANSACTION,ROLLBACK TRANSACTION.例如,我有以下代码:

Q.SQL.ADD(<UPDATE A RECORD>);
Q.ExecSQL;

Q.Close;
Q.SQL.Clear;
Q.SQL.ADD(<Select Some Data>);
Q.Open;
Run Code Online (Sandbox Code Playgroud)

设置一些变量

Q.Close;
Q.SQL.Clear;
Q.SQL.ADD(<UPDATE A RECORD>);
Q.ExecSQL;
Run Code Online (Sandbox Code Playgroud)

我想要做的是如果第二次更新失败,我想回滚第一个事务.

如果我为BEGIN,COMMIT,ROLLBACK设置一个唯一的表示法,以便指定提交或回滚的内容,是否可行.

即在第一次更新之前指定BEGIN TRANSACTION_A然后在上次更新后指定COMMIT TRANSACTION_A

我希望这是有道理的.如果我在SQL存储过程中执行此操作,那么我将能够在过程的开始和结束时指定它,但由于进程块和重载SQL上的死锁,我不得不将代码分解为可管理的块服务器.

delphi sql-server-2005 sql-server-2000

2
推荐指数
1
解决办法
3841
查看次数