同一程序中控制两个表出错 (0分)

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

zxjnfs

Unregistered / Unconfirmed
GUEST, unregistred user!
我用adoquery访问access,在一段代码中先给一个表添加了数据,再更新另一个表,
而且我用了两个adoquery分别调用两个表,可是程序报错''当前提供者不支持从单一执行
恢复多个记录集'这该怎么办??
 
把代码贴出来
 
with datamd.ADOQuery2 do
begin
Insert;
fieldbyname('proid').AsInteger:=parts.proid;
post;
datamd.ADOQuery1.Close;
datamd.ADOQuery1.SQL.Clear;
datamd.ADOQuery1.SQL.Add('update pro set parts=parts+1 where id='+inttostr(parts.proid));
datamd.ADOQuery1.Open;
其中adoquery2已经添加了,就是adoquery1.open出错!!!
 
有没有用ADO事务呀!
 
什么ado事务??sorry,不太明白
 
仔细调试了一下,原来不管两个表的事,如果只执行update会是一样的错误,
可能是adoquery1的属性有问题,请大家帮帮我把!!!
 
datamd.ADOQuery1.Open;
改为
datamd.ADOQuery1.ExecSQL;
因为UPDATE没有返回
 
有返回数据集的才用“OPEN”,否则用“EXECSQL”
对两张表操作,最好还是开事物罢
try
AdoConnection.BeginTrans;
...
...
AdoConnection.CommitTrans;
except
AdoConnection.RollBack;

end;
 
TO zxjnfs:
老大看看,把代码贴出来后很快就知道问题出在哪儿了,大家也方便替你判断错误呀
 
谢谢大家,再请问一下开事物有什么好处???
 
后退
顶部