在DELPHI中,如何处理事务一致性的要求?我用的是SQL,用TQuery操作数据库,是否在数据操作前用database.startransic,结束用database.commit/database.rollback就可以了?(中间有多个Tquery.excuSQL)
解决方案 »
- 问个傻傻的问题,现在新版XE系列还能做ASP.net网页开发吗?
- 打开的ADO连接和ADO记录集,操作完用不用关闭??
- 如何识别语音(英文),要简单源码,另送分1000
- 将Excel数据导成Bcd(2进制数据)存到Sql中.然后再将其导出
- 如何用DELPHI编写一个DLL组件给ASP调用?
- inno Setup怎么修改卸载页面右上角的图片啊?
- delphi调用wervice出错
- 怎么添加Microsoft Speech这个组件?图标是个红嘴唇,用来读单词的那个组件.
- 请教真高手:如何实现非固定 IP 间的文件传输!通过Sock? How to?? 在线等待---送高分!
- 求教delphi中使用ado的一个问题?
- 关于Frame框架的问题,很菜,(不赊帐哦)
- 请问如何在程序中动态地建立数据库(Paradox或Access)?
with query do
begin
close;
sql.clear;
sql.add ('begin transaction myaction');
sql.add ('begin');
sql.add (#填入你的要执行的SQL代码);
sql.add ('commit transaction');
sql.add ('end');
prepare;
try
try
ExecSQL;
except
on E: Exception do ShowMessage (E.Messages);
end;
finally
close;
end;
end;
try
//事务开始
Database1.StartTransaction;
//here is your code begin*******************
//here your code end************************
//事务提交
Database1.Commit;
except
//事务回滚
Database1.Rollback;
Application.MessageBox(
'数据库操作发生错误,请重试或取消操作!',
'操作提示',MB_OK+MB_ICONINFORMATION);
end;
dmMain.conMain.BeginTrans; try
dstApply.UpdateBatch;
dstSample.UpdateBatch;
dstApplyFee.UpdateBatch; dmMain.conMain.CommitTrans;
MsgBox('提示信息', '数据保存成功!', MB_OK + MB_ICONInformation);}
except
on E: Exception do begin
MsgBox('提示信息', '数据保存失败!' + #13 + E.Message, MB_OK + MB_ICONInformation);
dstApply.CancelUpdates;
dstSample.CancelUpdates;
dstApplyFee.CancelUpdates;
dmMain.conMain.RollbackTrans;
end;