快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

澳门新葡亰app在线下载_龟发之家论坛



ADO常用措施

下面是我所掌握的应用ADO对数据库操作的一些常用措施,主如果供给给初学者作为参考,有纰谬的地方请斧正。如有弥补不胜荣幸

筹备事情

========

Dim conn As NewADODB.Connection'创建一个 Connection 实例,在这里应用New即是将Dim和Set合并为一段代码履行

Dim rs As ADODB.Recordset'创建一个 Recordset 实例,不应用New 是由于,常常必要重复应用Set,是以没需要在这里应用

Dim CnStr As String, Sql As String'创建两个字符串变量分手寄放两个聚拢的SQL语句代码段

1、装载数据库(不属于Recordset聚拢)

=============

Dim FileNamw$, DbIp$, DbName$, DbUser$, DbPw$

'以上澳门新葡亰app在线下载5个字符串变量分腕表示文件路径和文件名、数据库地址、数据库名、数据操作员用户名、操作员密码

FileName = App.Path & "\'数据库名'"

DbIp = "数据库地址"

DbName = "数据库名"

DbUser = "数据操作员用户名"

DbPw = "操作员密码"

'以上变量根据数据库类型的不合而不合,有可能只必要1至两个变量

'1)连接Access数据库:

'-------------------

CnStr = "PROVIDER=microsoft.jet.oledb.3.51;persist security info =false;data source=" & FileName & ";Jet OLEDB:Database Password=" & DbPw

'2)澳门新葡亰app在线下载连接Oracle数据库:

'-------------------

CnStr = "PROVIDER=MSDAORA.1;Password=" & DbPw & ";User ID=" & DbUser & ";Data Source=" & FileName & ";Persist Security Info=True"

'此中:

'PASSWORD:密码

'User ID:用户号

'Data Source:数据库名

'Persist Security Info:

'Provider:

'3)连接VF的DBF库:

'----------------

CnStr = "PROVIDER=MSDASQL.1;Persist Security Info=False;Driver={Microsoft Visual FoxPro Driver};UID=" & DbUser & ";SourceDB=" & FileName &

";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;"

'4)连接SQL的数据库

'------------------

CnStr = "PROVIDER=澳门新葡亰app在线下载MSDataShape;Data PROVIDER=MSDASQL;uid=" & DbUser & ";pwd=" & DbPw & ";DRIVER=SQL Server;DATABASE="澳门新葡亰app在线下载 & DbName & ";WSID=GQSOFT;SERVER=" &

DbIP

'也可以应用这段简略单纯代码 CnStr = "Provider=SQLOLEDB;Data Source=" & DbIp & ";DATABASE=" & DbName & ";UID=" & DbUser & ";pwd=" & DbPw

Conn.Open cnstr '应用 Connection 聚拢的 Open 措施 与数据库建立连接

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聚拢的一些属性的解释

=========================澳门新葡亰app在线下载====

'以下为简写,正常环境必要rs.Fileds.。。。然则Fields属于Recordset的一个默认聚拢,是以可以省略

rs()'括号内可所以列名也可所以列的序号例如:rs("姓名")、rs(3) 都是是可以的

rs(3).Name'返回列名

rs(3).Type'返回列的类型

rs(3).Value '返回当前行的值

rs.Fields.Count '返回列数

您可能还会对下面的文章感兴趣: