2012-07-09 72 views
0

我使用BDE aliase和系统数据源中odbce到MS SQL服务器2008年德尔福7连接,有时“的连接是忙于其他的hstmt”会发生错误,如何知道活动结果集是否被完全提取?

有没有办法找到它的ResultSet不能获取所有记录?

德尔福如何创建连接MSSQL服务器,

回答

1

每次你打这个错误的时间,是在你的代码中的错误的指示。当连接器忙时,不需要检查连接器是否处于忙状态,因为如果您正确编写代码,连接器应该是从不忙。确保在允许代码继续之前在您使用它的地方关闭每一条语句。

+0

这是我的代码 – bejarun 2012-08-13 07:29:39

+0

我开发的应用程序如下:一个数据模块包含4个TDatabase组件(用于4个数据库),我的应用程序中的所有TTable组件都使用这个数据库组件。在一种形式中,我点击Table.Append和Table.Cancel后点击任何其他操作,如第一个或下一个或最后一个,它会说这个错误,这个错误只发生在特定的地方,但我提取和关闭不必要的表和查询组件。甚至会出现错误。 – bejarun 2012-08-13 08:47:53

0

最好的解决方案是将BDE替换为另一个DB访问库,例如ADO或DBX。

或者您可以通过在每个Query.Open之后调用Query.FetchAll来避免此错误;

或者编写一个后代类,它将自动调用FetchAll auto,例如通过添加OpenFetch方法。

+0

已经在query.Open之后给了Query.Fetchall, – bejarun 2012-08-13 07:28:45

相关问题