2012-07-09 31 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

相關問題