2009-08-10 171 views
1

我使用INSERT或UPDATE查詢的形式將大約37個值傳遞給MS Access基礎。事實上,它發生得非常快,所以我希望在進度條上指明這個過程只是一個奇特的功能。我怎樣才能將mysql查詢執行綁定到進度條填充?或者我應該模仿這個相對論?處理進度條上顯示的MySQL查詢

+0

讓我們假裝你的SQL需要很長時間(例如30秒)來執行。您是否正在尋找一個進度條,在這30秒鐘內平穩填充,基於您已經知道數據庫目前執行查詢時已完成一定比例的一些信息? – 2009-08-10 14:59:17

回答

1

如果您使用的是的dbExpress 設爲TSQLConnection,它有一個屬性ActiveStatements

所以,如果你添加一個觸發間隔N秒,火災時檢查ActiveStatements財產,並相應更新您的狀態計時器。

更新: 在評論作爲正確地指出由羅布·肯尼迪,ActiveStatements不顯示插入或更新語句,這樣就不會爲你想要的工作。

TADOConnecttion不但是有執行火災之前或命令後OnWillExecuteOnExecuteComplete事件,因此有可能做一些與他們,我只是測試它,他們做更新工作聲明。

+0

你的意思是說,從37開始,然後定期檢查其中有多少仍處於活動狀態?這對我來說似乎不是正確的想法。它看起來像只有當數據集打開或關閉遊標時纔會更新「ActiveStatements」,而這並不真正適用於* insert *和* update *查詢,是不是? – 2009-08-10 14:25:01

+0

我正在使用ADOConnection。對不起,忘了提及它。 – Vlad 2009-08-10 14:33:04