create procedure p_name (@param1 type,@param2 type,@param3 type)
as
BEGIN TRAN
insert into table values (@param1,@param2,@param3)IF @@ERROR>0 GOTO err_label
IF @@TRANCOUNT > 0 COMMIT TRANerrLabel:
IF @@TRANCOUNT > 0
begin
ROLLBACK TRAN
end然后可以循环记录最简单的方式就是
将Query.LockType设置为ltBatchOptimistic
UpdateBatch(arAll);
用Adoconnect的事务处理
as
BEGIN TRAN
insert into table values (@param1,@param2,@param3)IF @@ERROR>0 GOTO err_label
IF @@TRANCOUNT > 0 COMMIT TRANerrLabel:
IF @@TRANCOUNT > 0
begin
ROLLBACK TRAN
end然后可以循环记录最简单的方式就是
将Query.LockType设置为ltBatchOptimistic
UpdateBatch(arAll);
用Adoconnect的事务处理
解决方案 »
- 放分,這是理由嗎?kill
- 请问:类似于winhex的工具哪里有下载?
- 如何使窗体在鼠标放到标题栏上时显示其上的所有控件,而鼠标离开时隐藏其上的所有控件?
- 我有一个汽车配件商店,想用DELPHI编写进,销,存。望各位帮忙!!!
- 小弟向诸位求助:
- 关于float转为integer数据问题
- 请问这个存储过程怎样做,请提供代码
- 执行一条存储过程....,提示 "cannot perform this operation on a closed dataset"
- 帮助up也加分,up一次5分
- 一实数个数组怎样用统计表现出来
- 我用的是DELPHI7.0 CLIENTDATASET 中文保存,中文过滤,中文LOCATE有问题吗
- SQLSERVER2000验证
如果楼主执意用一个事务来处理,那么就把一楼所说的方法中有关事务的东西去掉,令存储过程每次执行完后返回一个值给你的前台程序,而事务的启动在你的前台程序中写.
当后台返回的代码是表示失败时,前台就令事务回GUN,并让程序STOP后面的语句;
当5条记录每次都返回正常代码时,前台才令事务提交.
adoConn.BeginTrans;
adoConn.RoolTrans;
adoConn.CommitTrans;
好像是上面的语句.
还有,你要自己用代码去识别adoCOnn是否处于事务状态,好像是:
if adoConn.intrans...
之类的语句.
UpdateBatch(arAll);