SQL这样都不行?!(15分)

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

restart2

Unregistered / Unconfirmed
GUEST, unregistred user!
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('delete from 临时凭证表');
ADOQuery2.ExecSQL;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('insert into 临时凭证表(记录数) values(1)');
ADOQuery2.ExecSQL;
就是把表记录全部删除,再加一条记录,可是竟然有错误提示:
当前提供者不支持从单一执行恢复多个记录集
什么意思啊
 
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('delete from 临时凭证表');
ADOQuery2.ExecSQL;
//增加一句:adoquery2.close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('insert into 临时凭证表(记录数) values(1)');
ADOQuery2.ExecSQL;
 
query在作clear和对sql.text操作前,最好尝试一下close,如果没有这种习惯,在大系统
中出现问题会很难定位。
 
对了,一定要Close,然后再次Open 或者 Exec哦!
 
做一个函数
procedure execsql(sql:string)
begin
ADOQuery.close;
ADOQuery.open;
.....
ADOQuery.ExecSQL(sql)
ADOQuery.close;

end;
 
同意在添加SQL前先CLOSE;
然后再CLEAR和ADD,
在用EXECSQL或OPEN,(不返回结果就用EXECSQL吧)
 
同意以上
 
哈哈,我真阿呆
 
对呀,不先close肯定要出错的!
 
顶部