L
lipingcool
Unregistered / Unconfirmed
GUEST, unregistred user!
我有一段对数据库进行事务处理的程序,但是事务开始后,程序就呈现挂起状态,事务也提交
不了。该怎么解决这个问题,小弟实在是没办法了,工程催得很急,望各位多多指教!
Database.StartTransaction;
try
//外层循环
if all_user_query.RecordCount>0 then
begin
all_user_query.First;
while not all_user_query.EOF do
begin
//这里是具体对数据库操作的操作语句,有update,select
all_user_query.next;
end;
Database.Commit;
except
Database.Rollback;
showmessage('ERROR!');
raise;
end;
我头痛的是:我把事务放到外层循环外面就会出现事务挂起,不能提交的情况。但假如我把
事务放到外层循环里去的时候,就没有问题!我的本意是当循环里面出现数据库错误的时候,
回滚所有的操作,而不是放到循环里去回滚其中一次的操作!
是不是有什么数据库操作不能包到Database.StartTransaction里去呢?
不了。该怎么解决这个问题,小弟实在是没办法了,工程催得很急,望各位多多指教!
Database.StartTransaction;
try
//外层循环
if all_user_query.RecordCount>0 then
begin
all_user_query.First;
while not all_user_query.EOF do
begin
//这里是具体对数据库操作的操作语句,有update,select
all_user_query.next;
end;
Database.Commit;
except
Database.Rollback;
showmessage('ERROR!');
raise;
end;
我头痛的是:我把事务放到外层循环外面就会出现事务挂起,不能提交的情况。但假如我把
事务放到外层循环里去的时候,就没有问题!我的本意是当循环里面出现数据库错误的时候,
回滚所有的操作,而不是放到循环里去回滚其中一次的操作!
是不是有什么数据库操作不能包到Database.StartTransaction里去呢?