\’1、首先声明一个链接对象,声明记录集对象,定义一个数据链接字符串

\’方法1:

Dim adocn As New ADODB.Connection  \’声明一个链接对象

\’方法2:

\’Dim adocn As ADODB.Connection

\’Set adocn = New ADODB.Connection

Dim strconn As String  \’定义一个数据链接字符串

strconn = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & App.Path & “\users.mdb”

adocn.Open strconn    \’使用 Connection 的 Open 方法 与数据库建立连接

Dim adors As New ADODB.Recordset  \’声明记录集对象

2、Recordset集合的常用方法
==========================

\’1)打开一个表
\’————

Sql = “select * from 表名” \’SQL查询语句
Set rs = New ADODB.Recordset \’新建一个实例
rs.Open Sql, conn \’使用 Open 方法打开数据库中的一个表

\’注意,这种打开方式只能使用 rs.MoveNext (即,向后移动行坐标)而不能像其他方向,并且不能修改数据内容
\’
\’rs.Open Sql, conn,1
\’虽然只加了个“1”,但这种方法可以向任何方向移动行坐标。
\’
\’以下参数代表了这个可选值的含义
\’0 = adOpenForwardOnly (默认值)打开仅向前类型游标。
\’1 = adOpenKeyset       打开键集类型游标。
\’2 = adOpenDynamic      打开动态类型游标。
\’3 = adOpenStatic       打开静态类型游标。
\’
\’虽然使用以上方法可以可以实现行坐标(游标)的任意移动,但是仍然无法写入数据。因此需要进一步的对Open 方法进行完善

\’rs.Open Sql, conn, 1, 3  \’后面的3是确定读写权限的

\’以下参数代表了这个可选值的含义
\’1 =
adLockReadOnly        (默认值)只读 — 不能改变数据。
\’2 = adLockPessimistic     保守式锁定(逐个) — 在编辑时立即锁定数据源的记录。
\’3 = adLockOptimistic      开放式锁定(逐个) — 只在调用 Update 方法时才锁定记录。
\’4 = adLockBatchOptimistic 开放式批更新 — 用于批更新模式(与立即更新模式相对)。
\’
\’2)读写数据
\’———-
\’增加一行记录并对新记录的内容进行修改并保存可以如下写法
rs.AddNew \’增加一行记录
rs(“…”)=”…”   
\’数据读写操作

rs.UpDate \’保存写入资料,如果使用只读权限,则不能使用这个方法
rs.Close  \’这个方法用来关闭你所代开的表,如果不使用这个方法也可以,但是数据库仍然认为你在对标进行锁定,可造成数据库负担过重

2、对数据进行筛选和排序
=======================
Sql = “select * from 表名” \’SQL查询语句
\’以上为打开一个表的所有内容

Sql = “select top 50 * from 表名” \’SQL查询语句
\’以上为只打开前50行的记录

Sql = “select top 50 列名1,列名2,列名5 from 表名” \’SQL查询语句
\’以上为只打开前50行的记录,并且只打开第1、2、5列数据

Sql = “select * from 表名 where 列名1=\'”
& 字段 & “\'” \’SQL查询语句
\’以上为一个简单的筛选,表示打开的内容必须符合[列名1=\'” & 字段 & “\'”]的内容
\’需要注意的是,数据库列的类型必须匹配,比如字符串类型需要以单引号括起
\’而数字类型则不能用单引号括起
\’另外SQL语句还支持通配符,例如 列名1 like \’%” & 字段 & “%\'”
表示包含[字段]
\’在表达式中的匹配
\’? _(下划线) 任何单一字符
\’* or %        零个或多个字符
\’#             任何单一数字(0 — 9)
\'[charlist]    任何在字符表中的单一字符
\'[!charlist]   任何不在字符表中的单一字符
\’注:根据数据库的不同?、_和*、%的应用有所差别,比如SQL只使用% 和 _ 分别代表多个字符和单一字符

Sql = “select * from 表名 where 列名1=\'”
& 字段 & “\’ ORDER BY 字段1 ASC” \’对查询结果进行升序排列
Sql = “select * from 表名 where 列名1=\'”
& 字段 & “\’ ORDER BY 字段1 DESC”  \’对查询结果进行降序排列
Sql = “select * from 表名 where 列名1=\'”
& 字段 & “\’ ORDER BY 字段1 DESC, ORDER BY 字段2 DESC”  \’对查询结果进行多维降序排列(速度奇慢,不推荐使用)

3、Recordset集合的常用属性方法
==============================
rs.BOF        \’是否游标在最上边
rs.EOF       
\’是否游标在最下边
rs.RecordCount   
\’记录集的行数(如果使用像前类型的游标,可能返回不准确)
rs.AddNew    \’新建一行记录
rs.Update    \’保存当前行被修改的记录
rs.Delete    \’删除当前行
rs.Close    \’关闭记录集

4、Fields集合的一些属性的解释
=============================
\’以下为简写,正常情况需要rs.Fileds.。。。但是Fields属于Recordset的一个默认集合,因此可以省略

rs()  \’括号内可以是列名也可以是列的序号例如:rs(“姓名”)、rs(3)
都是是可以的

rs(3).Name  \’返回列名
rs(3).Type  \’返回列的类型
rs(3).Value \’返回当前行的值
rs.Fields.Count \’返回列数

 

\’VB中,当你打开一个数据集时,需要声明一个数据集对象,在它的下面会有一个字段集合,这个字段集合就是fields。
\’使用方法:
\’rs(数据集对象).fields(“字段名称”)或
\’rs(数据集对象).Fields (字段索引号)

版权声明:本文为peifeng33原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/peifeng33/p/3978213.html