红皮书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的优点是 方便数据共享,多个程序使用一个数据库 。

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