VB使用ADODB操作数据库的常用方法

  • 格式:docx
  • 大小:17.69 KB
  • 文档页数:5

下载文档原格式

  / 10
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB使用ADODB操作数据库的常用方法

ADO常用方法

下面是我所掌握的使用ADO对数据库操作的一些常用方法,主要是提供给初学者作为参考,有不对的地方请指正。如有补充不胜荣幸

准备工作

========

Dim conn As New ADODB.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$

'以上5个字符串变量分别表示文件路径和文件名、数据库地址、数据库名、数据操作员用户名、操作员密码

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

DbIp = "数据库地址"

DbName = "数据库名"

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

DbPw = "操作员密码"

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

'1)连接Access数据库:

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

CnStr = "PROVIDER=microsoft.jet.oledb.3.51;persist security info =false;da

ta source="& FileName & ";Jet OLEDB:Database Password="& DbPw

'2)连接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=MSDataShape;Data PROVIDER=MSDASQL;uid="& DbUser & ";p wd="& DbPw & ";DRIVER=SQL Server;DATABASE="& DbName & ";WSID=GQSOFT; SERVER="&

DbIP

'也可以使用这段简易代

码CnStr = "Provider=SQLOLEDB;Data Source=" & DbIp & ";DATABASE=" & D bName & ";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 '这个方法用来关闭你所代开的表,如果不使用这个方法也可以,但是数据库仍然认为你在对标进行锁定,可造成数据库负担过重