日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴(lài)的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁(yè)編程開(kāi)發(fā)Delphi → Delphi通過(guò)ADO讀寫(xiě)數(shù)據(jù)庫(kù)

      Delphi通過(guò)ADO讀寫(xiě)數(shù)據(jù)庫(kù)

      前往專(zhuān)題相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:百度搜索時(shí)間:2012/8/28 17:50:06字體大。A-A+

      作者:西西點(diǎn)擊:4207次評(píng)論:0次標(biāo)簽: Delphi 數(shù)據(jù)庫(kù)

      Borland Delphi8.0光盤(pán)版
      • 類(lèi)型:編程工具大。83.1M語(yǔ)言:中文 評(píng)分:4.0
      • 標(biāo)簽:
      立即下載
      2 頁(yè) 一、 TADOConnection組件

      一、 TADOConnection組件
      該組件用于建立數(shù)據(jù)庫(kù)的連接。ADO的數(shù)據(jù)源組件和命令組件可以通過(guò)該組件運(yùn)行命令及數(shù)據(jù)庫(kù)中提取數(shù)據(jù)等。
      該組件用于建立數(shù)據(jù)庫(kù)的連接,該連接可被多個(gè)數(shù)據(jù)集所共享,但是并不是應(yīng)用程序中必須的,因?yàn)锳DO數(shù)據(jù)集及命令組件通過(guò)設(shè)置其ConnectionString屬性,可以直接連接到數(shù)據(jù)庫(kù)。但是如果多個(gè)數(shù)據(jù)集使用相同的數(shù)據(jù)庫(kù)連接時(shí),則使用TADOConnection就有一定的優(yōu)勢(shì),因?yàn)椴槐貫槊總(gè)數(shù)據(jù)集都單獨(dú)建立數(shù)據(jù)庫(kù)的連接,同時(shí)也減少了資源的消耗,并且可以建立跨越多個(gè)數(shù)據(jù)集的事務(wù)。一個(gè)事務(wù)(transaction)是數(shù)據(jù)庫(kù)操作的一個(gè)階段,用戶對(duì)數(shù)據(jù)庫(kù)的修改都保存在本地計(jì)算機(jī)的內(nèi)存中,只有提交一個(gè)事務(wù)后,才能將修改的內(nèi)容提交到數(shù)據(jù)庫(kù)中。如果選擇了回滾事務(wù),則所有的修改將被取消,而不會(huì)提交到數(shù)據(jù)庫(kù)中。

      ? TADOConnection組件提供如下功能:
      v 控件數(shù)據(jù)庫(kù)的連接
      v 控制服務(wù)器的注冊(cè)
      v 管理事務(wù)
      v 為關(guān)聯(lián)的數(shù)據(jù)集提供數(shù)據(jù)庫(kù)連接
      v 將SQL命令發(fā)送到數(shù)據(jù)庫(kù)中
      v 獲得數(shù)據(jù)庫(kù)的原數(shù)據(jù)(metadata)

       TADOConnection的常用屬性


      1) Attributes
          此屬性用于設(shè)置連接的數(shù)據(jù)庫(kù)的自動(dòng)處理的行為,它是TxactAttributes
      類(lèi)型的集合,包括兩個(gè)集合元素:
      I. XaCommitRetaining:提交一個(gè)事務(wù)后自動(dòng)開(kāi)始一個(gè)新的事務(wù)。
      II. XaAbortRetaining: 回退一個(gè)事務(wù)的同時(shí)將開(kāi)始一個(gè)新的事務(wù)。
      2) CommandTimeout
          連接超時(shí)屬性,用于設(shè)置一個(gè)命令執(zhí)行時(shí)所能等待的最大時(shí)間值。以秒為計(jì)量單位。缺省值為30秒,即連接命令等待了30秒之后還沒(méi)有被執(zhí)行,系統(tǒng)就放棄這個(gè)命令。
      3) Connected
          標(biāo)識(shí)和數(shù)據(jù)庫(kù)的連接是否處于激活狀態(tài)。
      用戶可以查詢Connected屬性的值來(lái)判斷數(shù)據(jù)庫(kù)的連接狀態(tài)。如果該屬性為true,則表明數(shù)據(jù)庫(kù)處于連接狀態(tài);為false,則當(dāng)前數(shù)據(jù)庫(kù)連接關(guān)閉。
      4) ConnectionString
          連字符串用于指定數(shù)據(jù)庫(kù)的連接信息。連字符串的標(biāo)準(zhǔn)調(diào)用方為:ADOConnection1.ConnectionString:='Provider=ProviderRet;Remote Server=ServerRet';
      其中,連接串支持的常用參數(shù)如下:
      數(shù)據(jù)庫(kù)連接參數(shù)及說(shuō)明
               參數(shù) 說(shuō)明
      Provider 數(shù)據(jù)提供者名稱(chēng),例如MSDASQL.1
      Password 登錄數(shù)據(jù)庫(kù)的口令
               參數(shù) 說(shuō)明
      Persist Security  支持安全登錄
      User ID 登錄數(shù)據(jù)庫(kù)用戶
          DataSource 數(shù)據(jù)源名稱(chēng)、數(shù)據(jù)源的設(shè)置需要額外的操作
      設(shè)置成功之后,用戶就可以將屬性Connected設(shè)置為T(mén)rue,如果沒(méi)有任何提示信息,說(shuō)明數(shù)據(jù)庫(kù)已經(jīng)成功連接,此時(shí),屬性DefaultPatabase就被賦值為連接所指定的數(shù)據(jù)庫(kù)的路徑。
       5) ConnectOptions
          指定數(shù)據(jù)庫(kù)連接是按照同步方式還是異步方式。類(lèi)型Tconnectoption包含兩個(gè)值:
      v coConnectUnspecified:數(shù)據(jù)庫(kù)連接采用同步方式連接。
      v coAsyncConnect:異步方式連接數(shù)據(jù)庫(kù)。當(dāng)服務(wù)器負(fù)載很重的時(shí)候,這種連接方式很有用。引用這種連接方式,在第一次建立連接的時(shí)候,應(yīng)用程序不能獲得全部的數(shù)據(jù)。
       6) CursorLocation
           指定數(shù)據(jù)庫(kù)指針是指向客戶端還是服務(wù)器端。類(lèi)型TcursorLocation包含兩個(gè)值:
      v cluseServer:使用服務(wù)器端的數(shù)據(jù)庫(kù)指針,適用于數(shù)據(jù)量大的數(shù)據(jù)集。
      v cluseClient:使用客戶端的數(shù)據(jù)指針的時(shí)候,數(shù)據(jù)將被下載到本地計(jì)算機(jī)上,并在本地進(jìn)行操作。
      7) DefaultDatabase
          表明數(shù)據(jù)源成功連接后,這是由數(shù)據(jù)源自動(dòng)賦值的。
      8) IsoLationLevel
      指定不同事務(wù)之間的相互獨(dú)立的級(jí)別,事務(wù)實(shí)際上是對(duì)數(shù)據(jù)庫(kù)的一系列操作的集合。事務(wù)具有整體性,如果事務(wù)中的某一個(gè)步驟不能正確執(zhí)行,則整個(gè)事務(wù)都不會(huì)執(zhí)行。由于數(shù)據(jù)庫(kù)服務(wù)器可以同時(shí)支持多個(gè)連接,來(lái)自不同連接的事務(wù)有可能在同一時(shí)刻對(duì)同一個(gè)數(shù)據(jù)進(jìn)行操作,這就有可能造成數(shù)據(jù)不一致性。為防止這種情況出現(xiàn),ADO引入了事務(wù)獨(dú)立級(jí)來(lái)確定不同事務(wù)之間的相互關(guān)系。設(shè)定事務(wù)獨(dú)立級(jí)之后并調(diào)用BeginTrans方法后,新的事務(wù)獨(dú)立級(jí)別將生效。
      TISolationLevel共包含9種常量值:如下:
      TISolationLevel常量及說(shuō)明
      常量參數(shù) 說(shuō)明
      ilUnspecified 使用默認(rèn)的獨(dú)立級(jí)別,沒(méi)有其它的獨(dú)立級(jí)別
      ilChaos 來(lái)自更高獨(dú)立級(jí)別的事務(wù)對(duì)數(shù)據(jù)的改變不能被當(dāng)前的事務(wù)覆蓋
      ilReadUncommitled 當(dāng)前事務(wù)可以讀取其他事務(wù)未提交的數(shù)據(jù)
      ilBrowse 當(dāng)前事務(wù)可以讀取其他事務(wù)未提交的數(shù)據(jù)
      ilcursorStability 事務(wù)提交后數(shù)據(jù)才能被讀取
      ilReadCommitled 事務(wù)提交后數(shù)據(jù)才能被讀取
      ilRepeatableRead 不能讀取其它事務(wù)的數(shù)據(jù),執(zhí)行Requery操作可以獲得這些數(shù)據(jù)
      ilSerializable 從其他事務(wù)中獲取事務(wù)的獨(dú)立級(jí)別
      ilIsolated 從其他事務(wù)中獲取事務(wù)的獨(dú)立級(jí)別

          這些常量的定義在Microsoft Data Access SDK中有詳盡的說(shuō)明,需要進(jìn)一步了解可以查詢微軟的SDK文檔。
      9) KeepConnection
          指定如果在沒(méi)有打開(kāi)數(shù)據(jù)集的情況下是否仍然保持?jǐn)?shù)據(jù)的連接。
          瀕繁地打開(kāi)和關(guān)閉數(shù)據(jù)庫(kù)的操作將會(huì)影響系統(tǒng)的性能,特別在網(wǎng)絡(luò)上,會(huì)在一定程度上增加網(wǎng)絡(luò)的負(fù)載。這個(gè)屬性設(shè)置數(shù)據(jù)源始終處于連接狀態(tài),可以顯著提高程序的性能。
      10) LoginPrompt
          指定在每次建立連接時(shí)是否彈出登錄對(duì)話框提示用戶登錄。如果設(shè)為False,則必須在ConnectionString中指定登錄數(shù)據(jù)庫(kù)的用戶和密碼。
      11) Mode
       指定連接對(duì)數(shù)據(jù)庫(kù)的操作權(quán)限,這種連接模式的值如下:
      連接模式參數(shù)及說(shuō)明
      參數(shù) 說(shuō)明
      cmUnknown 未指定數(shù)據(jù)庫(kù)操作權(quán)限或無(wú)法確定
      cmRead 對(duì)數(shù)據(jù)庫(kù)只能讀操作
      cmWrite 對(duì)數(shù)據(jù)庫(kù)只能寫(xiě)操作
      cmReadWrite 對(duì)數(shù)據(jù)庫(kù)可讀寫(xiě)操作
      cmShareDenyRead 禁止其他用戶對(duì)數(shù)據(jù)庫(kù)讀操作
      cmShareDenyWrite 禁止其他用戶對(duì)數(shù)據(jù)庫(kù)寫(xiě)操作
      cmShareExclusive 禁止其他用戶對(duì)打開(kāi)數(shù)據(jù)連接
      cmShareDengNone 禁止其他用戶對(duì)數(shù)據(jù)庫(kù)任何操作

       ADOConnection的主要方法:
      1) BeginTrans
          開(kāi)始啟動(dòng)一個(gè)新的事務(wù),必須保證數(shù)據(jù)連接處于激活狀態(tài)。
      2) Cancel
          關(guān)閉于數(shù)據(jù)庫(kù)的連接。
      3) CommitTrans
          向數(shù)據(jù)庫(kù)提交一個(gè)事務(wù)。提交成功后,再事務(wù)中對(duì)數(shù)據(jù)庫(kù)所作的修改則寫(xiě)入數(shù)據(jù)庫(kù)中,同時(shí)一個(gè)事務(wù)也結(jié)束。
      4) Execute(constCommandText:Widestring;VarRecordsAffected;Executeoptions:TexcuteOptions=[eoExecuteNoRecords]);
      執(zhí)行一個(gè)CommandText類(lèi)型的SQL命令,其中,CommandText是指定的SQL命令;ReardsAffected指定該命令設(shè)計(jì)的記錄數(shù)目;ExecuteOptions指定命令特征如下:
      ExecuteOption的值及說(shuō)明
      參數(shù) 說(shuō)明
      eoAsyncExecute 異步執(zhí)行命令
      eoAsyncFetch 給定了Cache屬性的值后,在異步地去數(shù)據(jù)
      eoAsyncFetchNonBlocking 非阻塞式線程執(zhí)行
      eoExecuteNoRecords 沒(méi)有返回記錄
      5) GetProcedureNames(List:Tstring);
          獲取數(shù)據(jù)庫(kù)服務(wù)器上的存儲(chǔ)過(guò)程名稱(chēng),獲取的存儲(chǔ)過(guò)程名稱(chēng)在List參數(shù)中。
      6) GetTableNames(List:Tstring;SystemTables:Boolean=False);
          獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)表,獲取的表名存放在List參數(shù)中SystemTables參數(shù)指示是否獲取數(shù)據(jù)庫(kù)系統(tǒng)表的名稱(chēng)。數(shù)據(jù)庫(kù)系統(tǒng)表是指在數(shù)據(jù)庫(kù)中關(guān)于數(shù)據(jù)庫(kù)數(shù)據(jù)類(lèi)型定義和用戶信息的數(shù)據(jù)表,這種系統(tǒng)表是數(shù)據(jù)庫(kù)本身自動(dòng)生成的。
      7) Open(const UserID:widestring;constPassword:widestring)                           
          打開(kāi)一個(gè)連接,參數(shù)UserID是數(shù)據(jù)庫(kù)用戶的用戶名。Password是用戶登錄數(shù)據(jù)庫(kù)的密碼。
      8) RollbackTrams
          撤回一個(gè)沒(méi)有全部執(zhí)行的事務(wù)。事務(wù)撤回之后,事務(wù)中所作的任何修改都不會(huì)寫(xiě)入數(shù)據(jù)庫(kù)。

       ADOConnection的主要事件
      事件 說(shuō)明
      AfterConnect  發(fā)生在一個(gè)連接建立之后
      AfterDisconnect 發(fā)生在斷開(kāi)連接之后
      BeforeConnect 發(fā)生在連接建立前
      BeforeDisconnect 發(fā)生在斷開(kāi)連接前
      OnBeginTranscomplete 發(fā)生在開(kāi)始一個(gè)事務(wù)時(shí)
      OnCommitTranscomplete 發(fā)生在提交事務(wù)成功時(shí)
      OnConnectComplete 發(fā)生在連接完成時(shí)
      OnDisconnect 發(fā)生在斷開(kāi)時(shí)
      OnExecuteComplete 發(fā)生在一個(gè)命令執(zhí)行后
      OnInfoMessage 發(fā)生在收到數(shù)據(jù)庫(kù)的消息
      OnLogin 發(fā)生在用戶登錄數(shù)據(jù)庫(kù)的時(shí)候
      OnRollbackTransComplite 發(fā)生在一個(gè)事務(wù)撤回之后
      OnWillConnect 發(fā)生在發(fā)出一個(gè)連接數(shù)據(jù)請(qǐng)求的時(shí)候
      OnWillExecute 發(fā)生在數(shù)據(jù)庫(kù)收到一個(gè)SQL命令并將要執(zhí)行之前

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過(guò)難過(guò)
        • 5 囧
        • 3 圍觀圍觀
        • 2 無(wú)聊無(wú)聊

        熱門(mén)評(píng)論

        最新評(píng)論

        第 1 樓 山西太原金玉網(wǎng)吧(山西大學(xué)商務(wù)學(xué)院) 網(wǎng)友 客人 發(fā)表于: 2013/11/19 20:15:07
        寫(xiě)的太好了

        支持( 0 ) 蓋樓(回復(fù))

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱(chēng):
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)