Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server ADO记录集。打开不会引发错误_Sql Server_Delphi_Ado - Fatal编程技术网

Sql server ADO记录集。打开不会引发错误

Sql server ADO记录集。打开不会引发错误,sql-server,delphi,ado,Sql Server,Delphi,Ado,我使用Delphi10通过ADO访问MSSQL 2012。除了一种情况外,所有方法都可以正常工作:当我打开因超时而中断的AdoQuery时,但是记录集。Open方法不会引发异常,而是下次调用Recordset.RecordCount引发异常$80004005(E\u FAIL) 可能是因为已经获取了一些数据(在SSMS中看起来是这样)。是否可以强制打开方法引发异常?或者我怎样才能毫无例外地抓住这种情况 注意:是的,我可以捕获此异常,但正在寻找更优雅的方法。是否使用了AsyncExecute标志?

我使用Delphi10通过ADO访问MSSQL 2012。除了一种情况外,所有方法都可以正常工作:当我打开因超时而中断的AdoQuery时,但是
记录集。Open
方法不会引发异常,而是下次调用Recordset.RecordCount引发异常
$80004005(E\u FAIL)

可能是因为已经获取了一些数据(在SSMS中看起来是这样)。是否可以强制打开方法引发异常?或者我怎样才能毫无例外地抓住这种情况


注意:是的,我可以捕获此异常,但正在寻找更优雅的方法。

是否使用了AsyncExecute标志?否,使用默认属性的简单同步TAdoQuery什么是
记录集
?它是
TAdoQuery
还是
TAdoQuery.Recordset
?它是TAdoQuery.Recordset使用
TAdoQuery.Recordset.Open
而不是
TAdoQuery.Open
?在任何情况下,请尝试检查
记录集。状态