红皮书ADO七大对象总结

举报
ksh1998 发表于 2021/12/30 00:34:52 2021/12/30
【摘要】 文章目录 分类独立对象依赖对象 组合1 Connection: + Recordset:2.Connection:+command 连接方式1.数据库的具体路径2.ODBC(OpenDat...


分类

独立对象

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  

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

连接方式

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2.ODBC(OpenDatabaseConnectivity)

Set objcn = New Connection '实例化connection对象
    objcn.Open "DSN=实例2DSN" ' 建立数据库链接
    Set objrs = New Recordset '创建客户端的记录集

  
 
  • 1
  • 2
  • 3

总结:

其实具体连接和通过ODBC连接,最后都是连接到了具体的数据库路径。ODBC的优点是 方便数据共享,多个程序使用一个数据库 。

文章来源: kangshihang.blog.csdn.net,作者:康世行,版权归原作者所有,如需转载,请联系作者。

原文链接:kangshihang.blog.csdn.net/article/details/98853018

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。