亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

有關ADO專題

2019-11-18 18:35:57
字體:
來源:轉載
供稿:網友
ADO架構圖:
               消費者          
              (Recordset)       提供者                           消費者        提供者           
    程應 ↗              ↘    OLEDB   ←→    服務器件   ←→ OLEDB  ←→ 數據庫
keyset Cursor與Dynamic Cursor的執行過程:
1、 數據庫只把記錄的鍵值放入結果數據集中
2、 ADO Cursor Engine存取客戶需要的記錄
3、 OLE PRovider再根據結果數據集中的鍵值字段到數據庫中存取相應的數據
4、 根據鍵值找到的數據再放入結果數據集中
事務管理功能:
在使用ADO處理多個數據表的主從架構應用程序中,一定要記得激活事務管理的功能以保護更新的數據。
1、 激活事務管理功能:
Procedure ADODataSetBeforePost (Dataset: Dataset);
Begin
  If (not ADOConnection.InTransaction) then
ADOConnection.BeginTrans;
End;
2、 在數據成功更新之后確定事務:
Procedure ADODataSetAfterPost (Dataset: Dataset);
Begin
  If (ADOConnection.InTransaction) then
ADOConnection.CommitTrans;
End;
3、 最后,當更新數據發生錯誤時取消事務,以便正確釋放系統資源:
Procedure ADODataSetPostError (Dataset: Dataset; E: EdatabaseError; var Action: TDataAction);
Begin
  ADOConnection.RollbackTrans;
        Action: =daAbort;
End;
RecordSet 的頁面定位功能:例如 學生表中有1000筆數據,當頁面的大小[PageSize]為10筆數據時,那么整個數據表就被分割成100個不同的頁面[PageCount]。因此程序員指定的頁面號碼[AbsolutePage]為2,就可以存取到11-20筆的數據。
AbsolutePage:改變當前Page的位置,設定這個屬性可以存取特定Page中的數據。這是個可擦寫的屬性。
       PageCount:數據表中所有的記錄數除以PageSize后得到的頁數。這是個只讀屬性。
       PageSize:指定沒一個數據頁中包含的數據筆數。這是個可擦寫的屬性。
RecordSet 的UpdateCriteria動態屬性:
       AdCriteriaKey:只在SQL命令的Where子句中使用鍵值字段值來尋找原來的記錄。
    AdCriteriaAllCols: 只在SQL命令的Where子句中使用所有字段值來尋找原來的記錄。
AdCriteriaUpCols: 在SQL命令的Where子句中使用鍵值字段值以及所有被修改字段值來尋找原來的記錄。這是ADO使用的默認的設定。
AdCriteriaTimeStamp: 在SQL命令的Where子句中使用鍵值字段值以及數據表中字段類型為TimeStamp的字段來尋找原來的記錄。
何謂客戶端Cursor、服務器端Cursor?
       ADO的CursorLocation分為兩種:一種是客戶端Cursor,另一種是服務器端Cursor。
那么何謂CursorLocation呢?簡單的說就是當客戶端應用程序存取了一些數據之后,這些數據存儲在什么地方?如果這些暫時的數據是存儲在客戶端的ADO驅動程序內存中,由客戶端ADO引擎管理,這就稱為客戶端Cursor。相反,如果這些暫時的數據是存儲在后端的數據庫中,由后端數據庫本身管理,就稱為服務器端Cursor。
       結論:使用Client-Side Cursor,再加上少量多次的存取方式,那么你的應用系統會非常有效率。
LockType:對于數據存取行為的影響大于對ADO執行效率的影響。其主要影響數據源服務器如何鎖定資源,以及鎖定資源的數量。
ReadOnly:只讀鎖,在使用Locate方法搜尋數據時,使用ReadOnly類型的LockType執行效率最高。
Optimistic:樂觀鎖
BatchOptimistic:批處理鎖
Pessimistic:悲觀鎖
       結論:在分布式多層應用系統或Internet/Intranet以及電子商務中,不要使用Pessimistic的LockType,因為這不但沒有意義而且會損失執行效率。更嚴重的后果會造成系統死鎖或發生數據不正確的情形。其次是在調用Locate方法搜尋數據時一般采用Client-Side Cursor、CacheSize的大小大約在100-1000之間、LockType采用Optimistic或BatchOptimistic。以達到最佳效率。
CacheSize:
1、 增加CacheSize可以增加ADO應用程序的執行效率,因為這可以減少網絡的RoundTrips。
2、 增加CacheSize也增加了啟動數據表的時間,但增加ADO應用程序的執行效率。
3、 當CacheSize接近1000時,ADO應用程序的執行效率在時間/空間比方面似乎是非常好的設定。
ExecuteOptions:
       EoAsyncExecute:以異步的方式來執行命令。
       EoAsyncFetch:當ADO存取了CacheSize指定的數據后,再以異步的方式存取其他的數據。
EoAsyncFetchNonBlocking:ADO以異步的方式執行命令,而且不會阻礙應用程序的執行。相對效率較高。
EoAsyncNoRecords:執行不會回傳結果數據集的存儲過程或命令。如果被執行的存儲過程或命令回傳的任何數據都會被丟棄。
結論:當ADO執行完Action Query之后,會以事件的方式通知客戶端應用程序。
OnFetchProgress:以異步存取數據時,會定時觸發這個事件處理程序。
OnFetchComplete:當異步存取的數據完全存取完畢后,會觸發這個事件處理程序。
Prepared和存儲過程:
       Prepared屬性值會影響數據源在執行這些組件的Action Query時是否先編譯這些SQL命令。如果Prepared屬性值為True時,數據源只要編譯一次即可重復執行這個存儲過程。而不需要在沒一次這些組件提出SQL命令時都編譯一次SQL命令為存儲過程,再執行。
排序數據:
ADO數據集.SORT:=’字名  排序,字名 排序……’    (排序有   ASC DESC)
ADO處理錯誤ERRORS(稱錯誤集合對象)
……….PostError(..)….
  Var
Adoerrors:errors;
Adoerror:error;
Icount:integer;
Begin
   Adoerrors:=adoconn.errors;
   For icount:=0 to adoerrors.count-1 do
Begin
  Adoerror:=adoerrors.item[icount];
  Adoerror.number[source.description,helpfile.sqlstate];
End;
End;
…..
try…….except
   result:=false;
   raise;

上一篇:利用網站短信漏洞,做自己的手機短信轟炸機

下一篇:用Ehlib二次開發報表打印程序,實現財務憑證的打?。ㄈ?/a>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕日韩av电影| 欧美激情按摩在线| 精品一区二区三区三区| 亚洲午夜女主播在线直播| 日韩免费不卡av| 国产在线播放不卡| 国产精品视频999| 欧洲亚洲妇女av| 九九久久久久99精品| 欧美激情国产日韩精品一区18| 欧美精品免费播放| 国产日韩欧美中文在线播放| 亚洲日本中文字幕| 国产精品久久久久久久av大片| 成人妇女免费播放久久久| 国产精品白丝av嫩草影院| 国内揄拍国内精品少妇国语| 精品国产电影一区| 欧美激情一级欧美精品| 国产精品com| 色天天综合狠狠色| 日韩精品视频在线观看网址| 亚洲一区二区福利| 国内精品小视频在线观看| 久久免费视频观看| 亚洲精品国产综合久久| 亚洲xxxx妇黄裸体| 日韩精品在线电影| 亚洲国产精彩中文乱码av在线播放| 久久久久中文字幕2018| 欧美精品www| 欧美激情一区二区三区久久久| 国产日韩在线精品av| 亚洲精品av在线| 国产精品男人的天堂| 欧美极品美女电影一区| 亚洲全黄一级网站| 国产亚洲欧洲在线| 一本色道久久综合狠狠躁篇怎么玩| 51视频国产精品一区二区| 欧美怡春院一区二区三区| 欧美精品精品精品精品免费| 午夜免费久久久久| 国产成人精品视频| 国产91精品在线播放| 7777kkkk成人观看| 亚洲黄色在线看| 中文字幕精品av| 一区二区三区美女xx视频| 亚洲天堂男人天堂女人天堂| 欧美午夜视频一区二区| 久久久欧美精品| 精品国内产的精品视频在线观看| 久久视频国产精品免费视频在线| 色综合久久悠悠| 欧美激情xxxx性bbbb| 亚洲综合一区二区不卡| 在线精品91av| 88国产精品欧美一区二区三区| 亚洲精品视频在线播放| 国产成人精品久久二区二区91| 欧美激情亚洲精品| 欧美黄色成人网| 日韩欧美大尺度| 欧美亚洲国产视频| 国模私拍一区二区三区| 国产精品露脸自拍| 91久久久久久国产精品| 国产精品大片wwwwww| 粉嫩av一区二区三区免费野| 久久综合久久美利坚合众国| 国产成人黄色av| 97久久国产精品| 欧美日韩一区二区三区| 亚洲高清不卡av| 色香阁99久久精品久久久| 国产欧美一区二区三区四区| 久久免费视频观看| 欧美大片在线影院| 精品女同一区二区三区在线播放| 日本精品一区二区三区在线播放视频| 2019亚洲男人天堂| 亚洲成avwww人| 欧美重口另类videos人妖| xvideos国产精品| 亚洲男人天堂网| 91免费看片在线| 日韩中文字幕精品视频| 国模私拍视频一区| 欧美午夜宅男影院在线观看| 午夜精品一区二区三区av| 国产999精品久久久| 国产精品电影久久久久电影网| xvideos成人免费中文版| 日韩精品免费综合视频在线播放| 欧美激情一级欧美精品| 亚洲电影免费观看高清| 精品无人区太爽高潮在线播放| 国产香蕉一区二区三区在线视频| 日韩免费在线观看视频| 亚洲欧洲国产伦综合| 91国内免费在线视频| 久久国产加勒比精品无码| 日韩国产一区三区| 精品视频—区二区三区免费| 精品国产91久久久| 91久久综合亚洲鲁鲁五月天| 日韩电影免费观看在线| 亚洲精品国产精品自产a区红杏吧| 久久亚洲国产精品成人av秋霞| 国产精品美女无圣光视频| 亚洲欧美另类中文字幕| 日韩在线观看免费网站| 91精品国产自产在线老师啪| 国产精品久久久久久久久男| 亚洲精品中文字幕有码专区| 亚洲国产成人av在线| 欧美日韩国产中文字幕| 亚洲美女福利视频网站| 久久久久久久久国产精品| 国产精品一区二区久久久久| 亚洲图片欧美日产| 亚洲国产精品成人一区二区| 欧美性xxxxxxx| 欧美一级片久久久久久久| 91在线观看免费| 国产在线高清精品| 欧美性xxxx极品hd满灌| 欧美激情乱人伦| 国产精品久久久久久中文字| 久久91亚洲精品中文字幕| 91精品视频免费观看| 亚洲电影免费观看| 国产区精品在线观看| 久久久久久中文| 一本色道久久综合狠狠躁篇的优点| 视频在线观看99| 韩国国内大量揄拍精品视频| 色噜噜久久综合伊人一本| 91超碰caoporn97人人| 国产精品久久久久久中文字| 亚洲理论电影网| 国产综合色香蕉精品| 久久久免费观看| 欧美日韩综合视频| 国产精品久久久久高潮| 久久欧美在线电影| 97久久精品人人澡人人爽缅北| 欧美精品videofree1080p| 在线观看精品自拍私拍| 欧美专区国产专区| 久久久久久久久久亚洲| 丝袜亚洲另类欧美重口| 欧美成人激情视频免费观看| 久久亚洲精品国产亚洲老地址| 国产精品网站视频| 成人免费福利视频| 隔壁老王国产在线精品| 91夜夜揉人人捏人人添红杏| 国产成人高潮免费观看精品| 成人免费观看49www在线观看| 亚洲精品短视频| 免费91在线视频| 欧美国产精品va在线观看|