ADO中的对象关系
? ? ? ? 這三天一直在接觸ADO,ADO是什么呢?
? ? ? ? ADO的全名是ActiveX Data Object(ActiveX數據對象),是一組優化的訪問數據庫的專用對象集,它為ASP提供了完整的站點數據庫解決方案,它作用在服務器端,提供含有數據庫信息的主頁內容,通過執行SQL命令,讓用戶在瀏覽器畫面中輸入,更新和刪除站點數據庫的信息。
? ? ? ? ADO主要包括Connection,Recordset和Command三個對象, 它們的主要功能如下:
- Connection對象:負責打開或連接數據庫文件;
- ·Recordset對象:存取數據庫的內容;
- ·Command對象:對數據庫下達行動查詢指令,以及執行SQL Server的存儲過程。??
? ? ? ? 而ADO中 的connection對象也是基礎,只有連接上數據庫,才會有Recordset和Command對象。
? ? ? ? 一、獨立對象
? ? ? ? 1)Connection對象,用于創建一個到達某個數據源的開放鏈接。通過此連接進行訪問和操作。Property對象和properties集合提供數據的屬性信息。如在數據庫創建的過程中發生某個錯誤,則Errors集合和Error對象返回相應的錯誤信息。
? ? ? ? 2)Command對象,用于在建立數據庫之后對數據庫進行相應的操作,如:增刪改查等。如果該操作取回數據,次數據將以一個Recordset對象返回。這就意味著被取回的數據能夠被Recordset對象的屬性、集合、方法或事件進行操作。Command 對象的主要特性是有能力使用存儲查詢和帶有參數的存儲過程
? ? ? ? 3)Recordset對象,Recordset 對象用于容納一個來自數據庫表的記錄集。一個 Recordset 對象由記錄和列(字段)組成。
? ? ? ? 二‘依賴獨立對象’
? ? ? ? 1)Error對象:對象包含與單個操作(涉及提供者)有關的數據訪問錯誤的詳細信息。ADO 會因每次錯誤產生一個 Error 對象。每個 Error 對象包含具體錯誤的詳細信息,且 Error 對象被存儲在 Errors 集合中。要訪問這些錯誤,就必須引用某個具體的連接。
? ? ? ? 2)Field對象:ADO Field 對象包含有關 Recordset 對象中某一列的信息。Recordset 中的每一列對應一個 Field 對象。也就是我們所查詢到的記錄。
? ? ? ? 3)Property對象:ADO 對象有兩種類型的屬性:內置屬性和動態屬性。
? ? ? ? 內置屬性是在 ADO 中實現并立即可用于任何新對象的屬性,此時使用 MyObject.Property 語法。它們不會作為 Property 對象出現在對象的 Properties 集合中,因此,雖然可以更改它們的值,但無法更改它們的特性。
? ? ? ? ? ADO Property 對象表示 ADO 對象的動態特性,這種動態特性是被 provider 定義的。
? ? ? ? ? 每個與 ADO 對話的 provider 擁有不同的方式與 ADO 進行交互。所以,ADO 需要通過某種方式來存儲有關 provider 的信息。解決方法是 provider 為 ADO 提供具體的信息(動態屬性)。ADO 把每個 provider 屬性存儲在一個 Property 對象中,而 Property 對象相應地也被存儲在 Properties 集合中。此集合會被分配到 Command 對象、Connection 對象、Field 對象 或者 Recordset 對象。
? ? ? ? ? ? 例如,指定給提供者的屬性可能會指示 Recordset 對象是否支持事務或更新。這些附加的屬性將作為 Property 對象出現在該 Recordset 對象的 Properties 集合中。
? ? ? ? 4)Parameter對象:ADO Parameter 對象可提供有關被用于存儲過程或查詢中的一個單個參數的信息。
Parameter 對象在其被創建時被添加到 Parameters 集合。Parameters 集合與一個具體的 Command 對象相關聯,Command 對象使用此集合在存儲過程和查詢內外傳遞參數。參數被用來創建參數化的命令。這些命令(在它們已被定義和存儲之后)使用參數在命令執行前來改變命令的某些細節。例如,SQL SELECT 語句可使用參數定義 WHERE 子句的匹配條件,而使用另一個參數來定義 SORT BY 子句的列的名稱。
有四種類型的參數:input 參數、output 參數、input/output 參數 以及 return 參數。
參考鏈接
?
總結
- 上一篇: 无人出租车江湖:百度出击,安途并进
- 下一篇: 16-20题