创建查询记录集的两种方法

这篇是之前课件素材的文章,基本上只要掌握了记录集操作数据库的方法,其他方法的都可以不用学了,哈哈哈,开玩笑啦。这种方法是非常基础,但是又非常重要。本文是没有图片的干货,花点时间看下会有所收获哦。

在对数据库记录进行浏览、修改、添加、或者删除之前,首先必须创建查询记录集对象,即创建Recordset对象。创建查询记录集的方法有很多,其中最主要的方法是利用Recordset对象的Open方法和利用Connectin对象的Excecute方法

此外还可以在记录集对象的基础上再创建记录集对象。

'两种方法:

'方式1:

'rs.Open数据表名/ SQL语句, cnn, adOpneKeyset, adLockOptimistic

'方式2:

'Set rs = cnn.Execute(数据表名/ SQL语句)

'方法一:

Sub创建记录集的2种方法一()

Dim cnn As New ADODB.Connection

Dim rs As New ADODB.Recordset

Dim mydata As String, mytable As String

mydata = ThisWorkbook.Path & "\BOM成本表.accdb"

mytable = "人员表"

'创建指定数据表的记录集

rs.Open mytable, cnn, adOpenKeyset,adLockOptimistic

MsgBox "数据库中共有"& rs.RecordCount & "条记录"

rs.Close

cnn.Close

Set rs = Nothing

Set cnn = Nothing

End Sub

'方法二:

Sub创建记录集的2种方法二()

Dim cnn As New ADODB.Connection

Dim rs As New ADODB.Recordset

Dim mydata As String, mytable As String

mydata = ThisWorkbook.Path & "\BOM成本表.accdb"

mytable = "人员表"

'创建指定数据表的记录集

Set rs = cnn.Execute(mytable)

MsgBox "数据库中共有"& rs.RecordCount & "条记录"

rs.Close

cnn.Close

Set rs = Nothing

Set cnn = Nothing

End Sub

'不同点:

'比较这两个程序,利用Recordset对象的Open方法创建数据表记录集,只要正确的设置Recordset对象的游标类型和锁定类型,就能够利用Recordset对象的Recordcount属性获取正确的记录数目,而利用Connection对象的Execute方法创建的数据表的记录集,却不能利用Recordcount属性获取正确的记录数目(其返回值为-1),而必须用循环记录的方式对记录进行计数。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181206G0H6SB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券