簡述ADO處理數據異步執行方式詳細說明介紹
在ADO處理數據中,通過規定連接和命令文本,你可以創建一個Recordset 對象.對于游標的位置和類型Recordset有一些規定.你可以按下面的方法來讀取數據,但是除了同步執行方式之外,ADO處理數據也提供了異步執行的方式
而當ADO處理數據完畢之后,ADO會以事件的方式通知應用程序,此時應用程序可以再根據ADO執行的結果來采取相應的動作。使用異步執行方式有許多用途,例如,如果應用程序需要處理花費大量時間的動作,那么ADO可以選擇以異步執行方式讓ADO在后臺執行,而讓應用程序繼續處理圖形用戶接口或用戶輸入的數據。
在ADO中使用異步執行方式非常簡單,只需要對ADO數據集的ExecuteOptions屬性值進行適當的設定即可。現在就讓我們以一實際的范例應用程序來說明如何讓ADO以異步的方式來處理數據
1) 在D e l p h i集成開發環境中關閉所有的項目。
2) 建立一個新的應用程序項目,在主窗體中放入TA D O C o n n e c t i o n對象連接到數據庫。
3) 在主窗體中放入TA D O D a t a S e t組件。設定它的C o n n e c t i o n屬性值為步驟2) 的TA D O C o n n e c t i o n,并且在它的C o m m a n d Te x t屬性值中使用Select * from ADOTe s t D a t a s以取得所有的ADO處理數據。再設定它的A c t i v e屬性值為Tr u e以打開范例數據表。
4) 放入TDataSource組件,設定它的DataSet屬性值為步驟3) 加入的TADODataSet組件。#t#
5) 放入T D B N a v i g a t o r和T D B G r i d組件,設定它們的D a t a S o u r c e組件為步驟4加入的T D a t a S o u r c e組件。
6) 在主窗體中放入兩個T B u t t o n組件以及一個T P r o g r e s s B a r組件,并且設定它的相關屬性值。
7) ***在主窗體中放入一個TA D O C o m m a n d組件。設定它的C o n n e c t i o n屬性值為步驟2) 的TA D O C o n n e c t i o n,并且在它的C o m m a n d Te x t屬性值中使用S e l e c t count(*) from ADOTe s t D a t a s以便從A D O Te s t D a t a s數據表中取得所有數據的筆數。
8) 在主窗體的ADO處理數據序中撰寫如下的程序代碼:
- p r o c e d u r e TForm1.FormActivate(Sender: TObject);
- v a r
- sRecNo : String;
- b e g i n
- ProgressBar1.Max := ADOCommand1.Execute.Fields.Item[0].Value;
- sRecNo := IntToStr(ProgressBar1.Max);
- Self.Caption := '共有' + sRecNo + ' 筆數據' ;
- e n d ;
9) 雙擊窗體中的e o A s y n c F e t c h N o n B l o c k i n g按鈕,并且在它的O n C l i c k事件處