事务处理的扫盲班问题(35分)

  • 主题发起人 主题发起人 烂泥
  • 开始时间 开始时间

烂泥

Unregistered / Unconfirmed
GUEST, unregistred user!
如下:
try
database1.starttransaction;
.......
insert into........
database1.commit;
except
database1.rollback;
end;

问题1、
一定要用insert into ,update, 语句吗?我用了
table1.append;
..
table1.post;
问题太多。多机并行时老有问题。

问题2、
在程序的保存中,我判断保存的是新增 的记录还是修改后的记录,
用了一个逻辑字段,
if 是否修改=True then
修改操作
else
新增操作;
但是在客户端,经常出问题
会出现这种情况吗?
如A客户端处于修改状态,B客户端处于新增状态,结果导致B客户端的
是否修改=True;

建议一、 在DFW提出问题的界面,把
(请注意换行, 建议围绕一个议题提问以便专家回答您.)
用红字显示。
 
问题1:也可以用Table1的Append、Post方法,但建议使用CachedUpdate的方法,然
后再:
try
database1.starttransaction;
Table1.ApplyUpdates;
......
database1.commit;
except
database1.rollback;
end

问题2:
判断保存的是新增的记录还是修改后的记录可以用以下方法:
if Table1.State=dsInsert then
Begin
......
End
else if Table1.State=dsEdit then
Begin
......
End;
 
接受答案了.
 
后退
顶部