紅皮書ADO七大對象總結


前言:ADO有七個可操作的對象,這七個對象分別負責不同的功能。七個對象之間的關係,都各有不同。每個對象之間的關係,都是不一樣 關聯方式 也不一樣。關係:獨立和依賴兩種特殊關係。但是都是以Connection 鏈接之後的操作,可以理解爲都是依賴以Connection這個對象的。

分類

獨立對象

Connection:
用來和數據庫建立連接,後面的操作都是基於connection連接。
Command:
用來執行查詢命令,和strSQL裏執行的SQL語句一樣。只不過strSQL是直接把,查詢命令以字符串形式傳遞到數據進行執行。然後反饋出結果,而command是接收參數,然後執行查詢命令這個是封裝好的。
Recordset:
用於保存,strSQL和command 反饋回來的結果。Recordset 是前兩個獨立對象共同要用到的。保存數據集,這是一個集合。

依賴對象

Field:
字段依賴於recordset集合來實現調用,數據庫返回的數據。
Parameter:
參數對象,依賴於命令對象使用,用於爲參數查詢提供數據。同
時使用參數對象和命令對象,可是數據庫對查詢進行預編譯,從而提高執行速
度。
Property:
屬性是每一個對象和命令都有的是
error:
錯誤對象依賴以,連接對象的使用。
大體的可以從這兩個角度區分,在使用過程中error:會 發生conection:鏈接失敗的時候出現錯誤,才觸發的一個依賴對象。

組合

1 Connection: + Recordset:

'定義在窗體各個事件過程中使用的公用變量
Dim objrs As New Recordset
Dim objcn As New Connection
Dim intpage As Integer
'顯示當前記錄頁數過程
Public Sub showdata(ByVal inpage As Integer)
    '實現分頁顯示記錄功能
    Dim intpagecount As Integer
    Dim intrecord As Integer
    Dim objdatasource As New Recordset
    '創建一個局部recordset對象保存objrs當前記錄數據
    For intrecord = 0 To objrs.Fields.Count - 1
        objdatasource.Fields.Append objrs.Fields(intrecord).Name, adVarChar, _
        objrs.Fields(intrecord).DefinedSize
    Next
    objdatasource.Open '打開局部對象
    objrs.PageSize = Val(txtPageSize) '重新設置每頁記錄條數
    objrs.AbsolutePage = intpage '重新設置當前記錄頁
    For intrecord = 1 To objrs.PageSize '將當前記錄頁中數據寫入objdatasource
        objdatasource.AddNew
      objdatasource!用戶名 = objrs!用戶名
      objdatasource!口令 = objrs!口令
       objdatasource.MoveNext
        If objrs.EOF Then Exit For
   
    Next
    Set DataGrid1.DataSource = objdatasource '設置爲數據網格的數據源
    txtPageMsg = intpage & "/" & objrs.PageCount '刷新當前記錄信息
    
End Sub  

2.Connection:+command

‘定義connection 與command對象
Dim objcn As Connection, objcmd As Command
Private Sub Form_Load()
    Dim strcn As String
    Set objcn = New Connection '實例化connention對象objcn
    strcn = "Provider=Microsoft.Jet.OLEDB.4.0;Persist security info=false;" & _
    "data source=" & App.Path & "\實例4.mdb"
    objcn.ConnectionString = strcn '創建數據鏈接
    objcn.Open
    '執行參數查詢的command對象objcmd
    Set objcmd = New Command
    Set objcmd.ActiveConnection = objcn
    With objcmd
        .CommandText = "select * from 系統用戶 where 用戶名 like?" & _
        "and 身份 like ?"
        .CommandType = adCmdText
    End With
    '爲commadn對象objcmd創建參數
    Dim parm As New Parameter
    Set parm = objcmd.CreateParameter("用戶名", adVarChar, adParamInput, 10)
    objcmd.Parameters.Append parm
    Set parm = objcmd.CreateParameter("身份", adVarChar, adParamInput, 10)
    objcmd.Parameters.Append parm
    Label4 = "" '清空標籤4
End Sub

連接方式

1.數據庫的具體路徑

Dim strsql As String, strcn As String
    txtPageSize = "5"
    intpage = 1
    '建立數據庫鏈接 易錯
    strcn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
    "Data Source=" & App.Path & "\實例4.mdb;
    Mode=ReadWrite|Share Deny None;Persist Security Info=False"
    objcn.ConnectionString = strcn
    objcn.Open

2.ODBC(OpenDatabaseConnectivity)

Set objcn = New Connection '實例化connection對象
    objcn.Open "DSN=實例2DSN" ' 建立數據庫鏈接
    Set objrs = New Recordset '創建客戶端的記錄集

總結:

其實具體連接和通過ODBC連接,最後都是連接到了具體的數據庫路徑。ODBC的優點是 方便數據共享,多個程序使用一個數據庫 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章