vb mysql 5.1 adodb_VB使用ADODB操作数据库的常用方法

ADO常用方法

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

准备工作

========

Dim

conn

As

New

ADODB.Connection

'

创建一个Connection实例,在这里使用New等于将Dim和Set合并为一段代码执行

rs

ADODB.Recordset

创建一个Recordset实例,不使用New是因为,经常需要重复使用Set,因此没必要在这里使用

CnStr

String

,Sql

创建两个字符串变量分别存放两个集合的SQL语句代码段

1

、装载数据库(不属于Recordset集合)

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

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

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

FileName

=

App.Path

&

"

\'数据库名'

"

DbIp

数据库地址

DbName

数据库名

DbUser

数据操作员用户名

DbPw

操作员密码

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

1)连接Access数据库:

'

-------------------

PROVIDER=microsoft.jet.oledb.3.51;persistsecurityinfo=false;datasource=

FileName

;JetOLEDB:DatabasePassword=

DbPw

2)连接Oracle数据库:

PROVIDER=MSDAORA.1;Password=

DbPw

;UserID=

DbUser

;DataSource=

;PersistSecurityInfo=True

其中:

PASSWORD:密码

UserID:用户号

DataSource:数据库名

PersistSecurityInfo:

Provider:

3)连接VF的DBF库:

----------------

PROVIDER=MSDASQL.1;PersistSecurityInfo=False;Driver={MicrosoftVisualFoxProDriver};UID=

;SourceDB=

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

4)连接SQL的数据库

------------------

PROVIDER=MSDataShape;DataPROVIDER=MSDASQL;uid=

;pwd=

;DRIVER=SQLServer;DATABASE=

DbName

;WSID=GQSOFT;SERVER=

DbIP

也可以使用这段简易代码CnStr="Provider=SQLOLEDB;DataSource="&DbIp&";DATABASE="&DbName&";UID="&DbUser&";pwd="&DbPw

Conn.Opencnstr

使用Connection集合的Open方法与数据库建立连接

2

、Recordset集合的常用方法

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

1)打开一个表

------------

Sql

select*from表名

SQL查询语句

Set

新建一个实例

rs.OpenSql,conn

使用Open方法打开数据库中的一个表

注意,这种打开方式只能使用rs.MoveNext(即,向后移动行坐标)而不能像其他方向,并且不能修改数据内容

'

'

以下参数代表了这个可选值的含义

0=adOpenForwardOnly(默认值)打开仅向前类型游标。

1=adOpenKeyset打开键集类型游标。

2=adOpenDynamic打开动态类型游标。

3=adOpenStatic打开静态类型游标。

虽然使用以上方法可以可以实现行坐标(游标)的任意移动,但是仍然无法写入数据。因此需要进一步的对Open方法进行完善

1=adLockReadOnly(默认值)只读—不能改变数据。

2=adLockPessimistic保守式锁定(逐个)—在编辑时立即锁定数据源的记录。

3=adLockOptimistic开放式锁定(逐个)—只在调用Update方法时才锁定记录。

4=adLockBatchOptimistic开放式批更新—用于批更新模式(与立即更新模式相对)。

2)读写数据

----------

增加一行记录并对新记录的内容进行修改并保存可以如下写法

rs.AddNew

增加一行记录

rs(

...

)

=

数据读写操作

...

rs.UpDate

保存写入资料,如果使用只读权限,则不能使用这个方法

rs.Close

这个方法用来关闭你所代开的表,如果不使用这个方法也可以,但是数据库仍然认为你在对标进行锁定,可造成数据库负担过重

、对数据进行筛选和排序

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

以上为打开一个表的所有内容

selecttop50*from表名

以上为只打开前50行的记录

selecttop50列名1,列名2,列名5from表名

以上为只打开前50行的记录,并且只打开第1、2、5列数据

select*from表名where列名1='

字段

'

以上为一个简单的筛选,表示打开的内容必须符合[列名1='"&字段&"'"]的内容

需要注意的是,数据库列的类型必须匹配,比如字符串类型需要以单引号括起

而数字类型则不能用单引号括起

另外SQL语句还支持通配符,例如列名1like'%"&字段&"%'"表示包含[字段]

在表达式中的匹配

?_(下划线)任何单一字符

*or%零个或多个字符

#任何单一数字(0—9)

[charlist]任何在字符表中的单一字符

[!charlist]任何不在字符表中的单一字符

注:根据数据库的不同?、_和*、%的应用有所差别,比如SQL只使用%和_分别代表多个字符和单一字符

'ORDERBY字段1ASC

对查询结果进行升序排列

Sql

'ORDERBY字段1DESC

对查询结果进行降序排列

'ORDERBY字段1DESC,ORDERBY字段2DESC

对查询结果进行多维降序排列(速度奇慢,不推荐使用)

3

、Recordset集合的常用属性方法

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

rs.BOF

是否游标在最上边

rs.EOF

是否游标在最下边

rs.RecordCount

记录集的行数(如果使用像前类型的游标,可能返回不准确)

新建一行记录

rs.Update

保存当前行被修改的记录

rs.Delete

删除当前行

关闭记录集

4

、Fields集合的一些属性的解释

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

以下为简写,正常情况需要rs.Fileds.。。。但是Fields属于Recordset的一个默认集合,因此可以省略

rs()

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

rs(

).Name

返回列名

).Type

返回列的类型

).Value

返回当前行的值

rs.Fields.Count

返回列数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值