如何判断ADOQuery1.ExecSQL是否顺利运行了SQL语句?(30分)

  • 主题发起人 主题发起人 Restart1
  • 开始时间 开始时间
R

Restart1

Unregistered / Unconfirmed
GUEST, unregistred user!
如何判断ADOQuery1.ExecSQL是否顺利运行了SQL语句?
 
1.用try..except
2.用返回值
 
异常处理try
except
end
 
没有属性吗
 
没有出错就成功了
 
1。没有出错就成功了
2。返回值是数据库中被修改的记录数

 
fi adoquery1.execsql<>0 then
.............
 
try
ADOQuery1.Close;
ADOQuery1.Sql.Clear;
ADOQuery1.SQL.Add();
ADOQuery1.ExecSQL
Showmessage('执行成功!');
except
Showmessage('执行中断!');
end;
 
成功比较含糊,执行成功,但是并不一定达到你的要求,那试你自己写的有问题。首先你要保证你写sql没有问题。
 
try
ADOQuery1.Close;
ADOQuery1.Sql.Clear;
ADOQuery1.SQL.Add();
ADOQuery1.ExecSQL
Showmessage('执行成功!');
except on e:exception do
begin
Showmessage(e.message);
.....
end;
end;
 
来自:zurich, 时间:2004-5-27 18:29:50, ID:2631398
成功比较含糊,执行成功,但是并不一定达到你的要求,那试你自己写的有问题。首先你要保证你写sql没有问题。
/////////////////////////////////////////
我还是比较赞成zurich的说法。
举个例子:
try
query1.sql.add('delete from 表1 where 字段1=123');
query1.sql.execsql;
except
messagebox(handle,'提示','发生异常',mb_ok+mb_iconinformation);
目的是删除字段1为123的记录。如果这条记录本身就不在,那么空删除,它是不会产生异常的,现在你添加
if query1.recordcount=0 then
messagebox(handle,'警告!','删除没有成功',mb_ok+mb_iconstop);
就可以知道到底你删除成功了没有。
所以是否成功1:保证sql语句正确2:异常扑捉3 :recordcount检测

 
我们所说的只是一个方法~就象可以由'1+1=2'可以得出'1+1+1=3'一样~
只有根据自己的情况~根据实际的情况才能得出相应的解决措施!
 
方法一:使用异常处理try except end 结构。
方法二:ADOQuery1.ExecSQL一般都是执行存储过程之类的,一般的存储过程都有返回值。


 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部