当前位置:主页>销售管理软件> 列表

ado中怎么判断sql语句是否执行成功!(答案满意给500 找服装零售软件

销售管理软件版1楼: 如题

2楼: try
....
except
...
end; 如记账软件免费版

3楼: 单步跟进

用dbgrid显示结果也行

4楼: 执行错误怎么弹出,错误信息.

5楼: try
...
except
showmessag(''执行出错!'')
end

6楼: try except end; 就可以吧!

销售管理软件版7楼: 上面的兄台們已經給出了大致的思路:但對於錯誤處理機制而言具體些可以提高系統性能。
例如:
try
pub_dataset.Data:=order_getrecords(resql);
pub_dataset.First;
Except
on try
pub_dataset.Data:=order_getrecords(resql);
pub_dataset.First;
Except
on EBrokerException do --指定你所說錯誤異常。
begin
出錯提示
end;
end;

8楼: adoconnection1.begintrans;//开始事务
try
adoconnection1.execute(sqlstr1);
adoconnection1.execute(sqlstr2);
...
adoconnection1.execute(sqlstrN);
adoconnection1.commitrans;//提交事务
showmessage(''操作成功'');
except
adoconnection1.rollbacktrans;//事务回滚
showmessage(''操作失败'');
end;
//以上采取事务处理只能用在有支持事务处理的数据库中,适用于对数据记录的修改,插入,删除等操作(只有极少几条SQL语句无事务处理),它的好处就是try..except内的SQL语句全部执行成功时,才会提交到数据库中,不然就全部取消,即使是最后一条出错,出错前的也会被取消,这比较符合现实现求,如银行中的转账就必须用到事务处理! 如进销存管理\财务账等等都必须要用事务处理,不知我的方法是不是你要的答案!

9楼: 那得看看怎么是成功是什么意思
1、达到目的?
2、不出错?

10楼: 判断出事是一方面
更重要的一方面是要数据能恢复

建议你在SQL里面使用事务处理,这样当出现异常时,可以回滚
BeginTrans
CommitTrans
RollbackTrans

11楼: 用事务处理+Try语句
这样批量更新
事务成功,则提交,否则回滚

12楼: 我在想,如果一次处理好几百万的数据,要使用事务怎么做呢,一次提到内存是不是会很慢呢,还是没问题 如服装零售软件

13楼: 可以用前面兄弟们提出的


try..except ..end;
并在其中加入事务。
同时ADO控件的ExecSQL方法可以返回一个整数值,用来返加受影响的行数。
可以根据这个来进一步判断。

销售管理软件版14楼: 这么大的数据量,内存够大,是可以的,只是速度的问题
-------------
来自:bjyplbx, 时间:2006-1-6 11:19:32, ID:3320090
我在想,如果一次处理好几百万的数据,要使用事务怎么做呢,一次提到内存是不是会很慢呢,还是没问题

15楼: 只要能够把SQL语句执行完毕
就应该成功了

16楼: begin
try
AdoQuery.Close ;
AdoQuery.SQL.Clear ;
AdoQuery.SQL.Add(sSql );
AdoQuery.Open;
except
on E: EDatabaseError do
begin
ShowMessage(E.Message +'' :语句:''+sSql) ;
AdoQuery.Close ;
end;
end;

这样可以知道你那个SQL语句出错了.

17楼: 我的sql语句如果执行时间很长的话,怎么知道sql 语句执行完毕了.

18楼: 有事件吧,你自己看看

19楼: 不返回记录的话执行后会返回受影响的条数。
返回记录集合的话执行后判断记录集的状态是否是打开的状态!

----------------
☆ http://www.coderpub.com ☆
----------------
java,j2me,delphi,asp.net,C#
手机游戏交易,软件项目外包。
关注前沿技术,打造一流平台!

20楼: try
execsql;
showmessage(''成功'');
except
showmessage(''失败'');
end;
如果不弹出''失败''就是已经执行成功的撒.

销售管理软件版21楼: 用事务就可!