熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle ADO數據存取

2022-06-13   來源: Oracle 

  ADO是Active Data Object的縮寫稱為ActiveX數據對象利用ADO對象通過ODBC驅動程序或OLE DB連接字符串可實現對任意數據庫的存取和訪問
  
  OLE DB是微軟用來替代ODBC的一種數據庫訪問技術是一種對關系型數據庫和非關系型數據庫均有效的一種數據庫訪問技術
  
  ADO提供了個獨立的對象利用這些對象可實現對數據庫的存取和訪問
  
  ·Connection 連接對象
  ·Command 命令對象 利用命令對象可執行一個SQL存儲過程或有參數的查詢
  ·Parameter 參數對象
  ·Recordset 記錄集對象代表從數據表中通過查詢所獲得的一組記錄通過該對象的方法和屬性可實現對記錄的存取和操作
  ·Field 字段對象代表記錄集中的一個字段Fields為字段集合代表一條記錄的全部字段
  ·Property 屬性對象
  ·Error 錯誤對象
  
  ConnectionCommand和Recordset是整個ADO的核心通過Connection對象與一個數據庫建立連接然後利用Command對象執行查詢從而返回查詢結果並將結果(記錄集)存入Recordset對象中利用服務器端腳本通過訪問Recordset對象便可獲得查詢到的記錄內容
  
  另外利用Connection對象的Execute方法和Recordset對象的Open方法也可執行一個查詢返回一個記錄集
  
  ODBC數據源的用戶數據源系統數據源和文件數據源
  
  用戶和系統DSN存儲在WindowsNT注冊表中系統DSN可被登錄的所有用戶訪問和使用用戶DSN只能提供特定的用戶訪問和使用 文件DSN是存儲在一個擴展名為dsn的文本文件中可供多個用戶訪問和使用並可實現復制通用性強一般采用此方式
  
  ADO連接對象
  
  連接對象在使用前必須先創建該對象的實例
  
  Set 實例名=ServerCreateObject(ADODBConnection)
  
  連接對象的方法
  
  ·Open方法
  
  連接對象Open 數據源名 | 連接字符串
  
  帶參數調用Open方法時其參數實質是傳遞給連接對象的ConnectionString屬性的因此可事先設置ConnectionString屬性的值然後再調用不帶參數的Open方法
  
  ·Close方法
  
  連接對象Close    釋放Set conn=Nothing
  
  ·Execute方法
  該方法用於執行SQL語句根據SQL語句執行後是否返回記錄集該方法的使用格式分為以下兩種
  
  .執行SQL查詢語句時將返回查詢得到的記錄集用法為
  
  Set 對象變量名=連接對象Execute(SQL 查詢語言)
  
  Execute方法調用後會自動創建記錄集對象並將查詢結果存儲在該記錄對象中通過Set方法將記錄集賦給指定的對象保存以後對象變量就代表了該記錄集對象
  
  .執行SQL的操作性語言時沒有記錄集的返回此時用法為
  
  連接對象Execute SQL 操作性語句 [ RecordAffected][ Option]
  
  ·RecordAffected 為可選項此出可放置一個變量SQL語句執行後所生效的記錄數會自動保存到該變量中通過訪問該變量就可知道SQL語句隊多少條記錄進行了操作
  
  ·Option 可選項該參數的取值通常為adCMDText它用於告訴ADO應該將Execute方法之後的第一個字符解釋為命令文本通過指定該參數可使執行更高效
  
  ·BeginTransRollbackTransCommitTrans方法
  
  這三個方法是連接對象提供的用於事務處理的方法BeginTrans用於開始一個事物RollbackTrans用於回滾事務CommitTrans用於提交所有的事務處理結果即確認事務的處理
  
  事務處理可以將一組操作視為一個整體只有全部語句都成功執行後事務處理才算成功若其中有一個語句執行失敗則整個處理就算失敗並恢復到處裡前的狀態
  
  BeginTrans和CommitTrans用於標記事務的開始和結束在這兩個之間的語句就是作為事務處理的語句判斷事務處理是否成功可通過連接對象的Error集合來實現若Error集合的成員個數不為則說明有錯誤發生事務處理失敗Error集合中的每一個Error對象代表一個錯誤信息
  
  另外利用SQL本身所提供的事務處理語句通過編寫存儲過程然後利用ADO命令對象的相關方法通過調用執行存儲過程也可實現事務
  
  連接對象的常用屬性
  
  屬性名
From:http://tw.wingwit.com/Article/program/Oracle/201311/18151.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.