【发布时间】:2010-09-10 15:07:58
【问题描述】:
我有以下代码用于执行返回多个结果集的 sql 存储过程,然后从流中读取此结果。对于背景信息:它将 xml 块作为字符串返回,然后将其转换为完整的 xml。 它已经运行了一年多,但现在我遇到了一个导致错误消息的案例:操作已取消。调试器显示:项目 x 引发异常类 EOleException,消息 Operation cancelled。 我不知道是什么原因造成的。任何帮助或建议都会很棒。
const
adExecuteStream = $00000400; //Indicates that the results of a command execution should be returned as a stream.
var
objCmd, InputStream, XML, XSLT, Template, Processor, objConn, strmResults : Variant;
ATStreamClass : TMemoryStream;
Adapt : TStreamAdapter;
OutputStream: IStream;
objCmd := CreateOLEObject('ADODB.Command');
objCmd.ActiveConnection := dmABaasMock.dbRaAndm.ConnectionObject;
objCmd.CommandType := adCmdText;
objCmd.CommandText := <sp proc name with params>;
strmResults := CreateOLEObject('ADODB.Stream');
strmResults.Open;
objCmd.Properties['Output Stream'] := strmResults;
objCmd.Execute(EmptyParam, EmptyParam, adExecuteStream); // HERE COMES THE EXCEPTION
strmResults.Position := 0;
xmlMemo.text := strmResults.ReadText;
【问题讨论】: