如何判断update操作已经成功??(100分)

  • 主题发起人 主题发起人 zjzhizhi
  • 开始时间 开始时间
Z

zjzhizhi

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好:
程序中用到,update biao1 set ziduan3='1' where ziduan1=:pt1;
我想知道UPDATE操作是否成功了,
if 成功 操作一
else
操作二
有什么办法判断UPDATE操作是否成功了呢????



 
with Query do
begin
Active := False;
SQL.Clear;
SQL.Text := ....;
try
ExecSQL;
except
// 不成功!
end;
end;
 
在Execp里,如何判断失败的原因呢?
比如取得并显示错误代码?
请指教!
 
最通用的函数。。。
function sucess:boolean;
var
query:tquery;
begin
with tquery.create(nil) do
begin
try
databasename:=database1.databasename;
close;
sql.text:='update..............';
execsql;
result:=true;
except
result:=false;
end;
end;
end;
调用。。if sucess(成功)
  else (不成功);
 
我倒!!
好不容易写完,没想道还有更快的~~~
 
做一个boolean型函数
function updatesql(sqltext):boolean;
begin
with Query do
begin
Active := False;
SQL.Clear;
SQL.Text := sqltext;
try
ExecSQL;
result:=true;
except
result:=false;
end;
end;
 
用事务处理呀
 
上面提到的“失败”是指出错了
不知道,如果本来没这个记录,update了0个记录,这个不是出错,但是是否在你的
“失败”之内?如果你要判断更新了几条记录,用TQuery.RowsAffected
 
if @@rowcount=0
begin

else


end
 
基于“更快、更好、更完整”的给分原则!
只能心里感谢大部分富翁们了。
 
后退
顶部