ADO異步執行的問題? |
缺席
|
mathewzhao
中階會員 發表:121 回覆:164 積分:67 註冊:2003-04-04 發送簡訊給我 |
各位先進好!
Q1:我看到在李維先生的《Delphi5‧x ADO/MTS/COM 專業程式設計篇》 一書中,提到ADO的ExecuteOptions設為EoAsyncFetchNonBlocking時,"ADO 會以異步方式執行命令,而且不會阻礙程式的執行"。 我的程式在Ms SQL Server 繁忙時,向資料庫增加資料會花費較多時間,於是我將ADO的ExecuteOptions設為EoAsyncFetchNonBlocking,但是並未發生"不會阻礙程式的執行"的效果‧ 請問是否我對李維先生所說有誤解? Q2: 請問Ms SQL Server在繁忙時,是否會發出訊息,以在程式中處理? 謝謝! |
mathewzhao
中階會員 發表:121 回覆:164 積分:67 註冊:2003-04-04 發送簡訊給我 |
各位先進好!
關於這個問題我曾經看見一些訊息:
1)在李維先生的第3.4節與第4.5節提到,將ADoDataSet1.ExecuteOptions設eoAsyncNonBlocking, ADO會以異步方式執行命令,可以提供更好的執行效率"‧ 2)在http://bdn.borland.com/article/0,1410,27790,00.html中"My Second (and shorter) Problem" 說:
set Property ExecuteOptions.eoExecuteNoRecords to True first,
this setting should be set to True for any Update, Insert, or Delete SQL. 3)在http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_20402485.html上的一篇文章(http://community.borland.com/article/0,1410,16231,00.html). 我現在使用的是ADOquery,一直往Ms SQL Server增加record,在增加時希望程式繼續執行,準備增加下一筆record
由於環境限制(我沒法模擬Ms SQL Server繁忙時的情況,試一下1)和2)的效果)和見識有限,所以請先進指導一下,針對我的情況,上面那個方法較適合,或者有更好的方法,謝謝! Ps:我曾經將Ms SQL Server關閉,想模擬Ms SQL Server非常繁忙時的情況,發現將Ms SQL Server關閉,未發生'不會阻礙程式的行的效果'。
感覺Ms SQL Server關閉與非常繁忙時(server的CPU使用率>95%),處理Record還是大不一樣
個人水平有限,敘述問題有差錯還請指正 發表人 - mathewzhao 於 2003/07/30 11:02:16
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |