如何得到AdoConnection.execute(sqlstr)执行的返回结果?
1:
TAdoConnection.execute有procedure、function的两种定义,function返回_RecordSet类型。可以这样调用:
rec:_Recordset;
n:integer;
rec:=conn.Execute(sqlStr);
if (assigned(rec)) and (not rec.eof) n:=rec.Fields[0].Value;
......
IstValue := conn.Execute(sqlstr)(0)
SecValue := conn.Execute(sqlstr)(1)
......
2:
另一种方法(摘自【IT168知识库】,原文:http://tech.it168.com/KnowledgeBase/Articles/2/d/7/2d7bc875400ab8bc74aff74553f7e129.htm):
Connection.execute后操作完成后将触发onExecuteComplete事件:
ExecuteComplete RecordsAffected, pError, adStatus, pCommand, pRecordset, pConnection
参数:
RecordsAffected:长整型值,命令所影响的记录数目。
pError:Error对象,说明当adStatus值为adStatusErrorsOccured时所发生的错误,否则将不对它进行设置。
adStatus:EventStatusEnum状态值,当调用该方法时,如果引发事件的操作成功,该参数设置为adStatusOK,如果操作失败,则设置为adStatusErrorsOccurred。
在此方法返回前,将该参数设置为 adStatusUnwantedEvent 可避免后续的通知。
pCommand:所执行的 Command 对象(如果有)。
pRecordset:Recordset对象,执行的结果。该记录集可以为空。
pConnection:Connection对象,执行命令所针对的连接。
说明:
ExecuteComplete事件可因Connection.Execute、Command.Execute、Recordset.Open或Recordset.NextRecordset而发生。