admin 管理员组

文章数量: 887031


2023年12月22日发(作者:手机网页在线制作)

使用ADO编程模型需添加ADO对象类库的“引用”----“Microsoft ActiveX Data Objects 2.x

Library”

ADO之VB数据库操作主要包括读、写、修改及删除等操作,不论是进行什么数据库操作都必须首先连接到数据库。

一、连接到数据库

1、 连接到SQL数据库:

通过ADO的Connection对象可实现VB与SQL数据库的连接。一般方法如下:

Dim cnn As New tion „创建Connection对象cnn,关键字new用于创建新对象

tionString = "Provider=SQLOLEDB.1;Password=密码;User ID=用户名;Initial

Catalog=SQL数据库文件;Data Source= localhost;" '指定提供者,设置数据源

„打开到数据库的连接

……..

„关闭到数据库的连接

或者:

Dim cnn As New tion „创建Connection对象cnn,关键字new用于创建新对象

"Provider=SQLOLEDB.1;Password=密码;User ID=用户名;Initial Catalog=SQL数据库文件;Data Source= localhost;" „打开到数据库的连接

……..

„关闭到数据库的连接

2、 连接到ACCESS数据库:

通过ADO的Connection对象可实现VB与ACCESS数据库的连接。一般方法如下:

Dim cnn As New tion „创建Connection对象cnn,关键字new用于创建新对象

tionString = "Provider=.4.0;Data Source=ACCESS数据库文件.MDB" '指定提供者,设置数据源

„打开到数据库的连接

……..

„关闭到数据库的连接

或者:

Dim cnn As New tion „创建Connection对象cnn,关键字new用于创建新对象

"Provider=.4.0;Data Source=ACCESS数据库文件.MDB" „打开到数据库的连接

……..

„关闭到数据库的连接

二、读数据库操作

读数据库操作一般可通过recordset对象实现。方法如下—以ACCESS数据库为例:

Dim cnn As New tion „创建Connection对象cnn,关键字new用于创建新对象

"Provider=.4.0;Data Source=ACCESS数据库文件.MDB" „打开到数据库的连接

Dim rs As New Recordset '声明一个记录集对象

[记录源, cnn, 游标类型, 锁定类型, 命令类型] „也可先设置记录集相关属性

= rs("字段名称1或索引") „假设读取出来的字段信息显示在文本框中,三种读取方法等价

=("字段名称2或索引")

= rs!字段名称3

…….

„关闭记录集对象

„关闭与数据库的连接

set rs=Nothing „释放rs对象实例

set cnn=Nothing „释放Connection对象实例

l 记录源一般为一条SQL查询语句,以实现查询目的。

l Recordset对象还保持查询返回的记录的位置,它返回第一个检索到的记录,并允许你一次一项逐步扫描其他结果。Recordset对象的部分属性及方法如下

Rs(i): 读取第i个字段的数据,i从0开始

Rs(字段名): 读取指定字段的数据

:记录指针指到记录的尾部

:记录指针指到记录的头部

Count: 游标中的数据记录总数

ze:当对象设有分页时,用于指定逻辑页中的记录个数

unt:返回记录集中的逻辑分页数

xt: 将记录指针移到下一个记录

ev: 将记录指针移到上一个记录

rst: 将记录指针移到第一个记录

st: 将记录指针移到最后一个记录

:将当前记录删除

:添加一条新记录(行)

l 如果要读取满足条件的数据库记录,只要在SELECT语句中增加WHERE子句即可(例如:WHERE 性别=”男”),如果要读取多条满足条件的数据库记录,可通过循环语句来实现,并且每读取一条记录后使用xt移动记录指针以读取下一条记录。

三、 写数据库操作

方法1:使用recordset对象(此方法一般初学者使用较多)。方法如下—以ACCESS数据库为例:

Dim cnn As New tion „创建Connection对象cnn,关键字new用于创建新对象

"Provider=.4.0;Data Source=ACCESS数据库文件.MDB" „打开到数据库的连接

Dim rs As New Recordset '声明一个记录集对象

[记录源, cnn, 游标类型, 锁定类型, 命令类型] „也可先设置记录集相关属性

„告诉rs我们要添加一行

rs("字段名称1或索引") =值1 „给要添加的行的一个字段赋值,三种方法等价

("字段名称2或索引") =值2

rs!字段名称3 =值3

…….

„通知rs我们要把这个行写入数据库

„关闭记录集对象

„关闭与数据库的连接

set rs=Nothing „释放rs对象实例

set cnn=Nothing „释放Connection对象实例

l addnew使用方法后,如果要放弃添加的结果,应调用记录集的CancelUpdate方法放弃。

方法2:使用Connection对象的Execute方法对表进行SQL记录插入操作(要求要熟悉SQL命令)

Dim cnn As New tion „创建Connection对象cnn,关键字new用于创建新对象

"Provider=.4.0;Data Source=ACCESS数据库文件.MDB" „打开到数据库的连接

strSQL = "Insert Into 数据表(字段1, 字段2…..) Values(值1, 值2…..) „拼写Insert插入语句

e strSQL '执行Insert语句实现添加

…….

„关闭与数据库的连接

set cnn=Nothing „释放Connection对象实例

四、 修改数据库操作

方法1:使用recordset对象(此方法一般初学者使用较多)。方法如下—以ACCESS数据库为例:

Dim cnn As New tion „创建Connection对象cnn,关键字new用于创建新对象

"Provider=.4.0;Data Source=ACCESS数据库文件.MDB" „打开到数据库的连接

Dim rs As New Recordset '声明一个记录集对象

[记录源, cnn, 游标类型, 锁定类型, 命令类型] „也可先设置记录集相关属性

…….

rs("字段名称1或索引") =新值1 „„给要修改的行的一个字段赋一个新值,三种方法等价

("字段名称2或索引") =新值2

rs!字段名称3 =新值3

…….

„通知rs,我们要把修改好的记录行写入数据库

„关闭记录集对象

„关闭与数据库的连接

set rs=Nothing „释放rs对象实例

set cnn=Nothing „释放Connection对象实例

l 如果放弃修改结果,应调用记录集的CancelUpdate方法放弃更新数据库。

方法2:使用Connection对象的Execute方法对表进行SQL记录更新操作(要求要熟悉SQL命令)

Dim cnn As New tion „创建Connection对象cnn,关键字new用于创建新对象

"Provider=.4.0;Data Source=ACCESS数据库文件.MDB" „打开到数据库的连接

strSQL = "Update 数据表 Set 字段1=新值1, 字段2=新值2….. „拼写Update语句,以便进行修改

e strSQL '执行Insert语句实现添加

…….

„关闭与数据库的连接

set cnn=Nothing „释放Connection对象实例

五、 删除数据库操作

方法1:使用recordset对象(此方法一般初学者使用较多)。方法如下—以ACCESS数据库为例方法1:通过

Dim cnn As New tion „创建Connection对象cnn,关键字new用于创建新对象

"Provider=.4.0;Data Source=ACCESS数据库文件.MDB" „打开到数据库的连接

Dim rs As New Recordset '声明一个记录集对象

[记录源, cnn, 游标类型, 锁定类型, 命令类型] „也可先设置记录集相关属性

…….

„删除当前记录

…….

„通知rs,我们要把修改好的记录行写入数据库

„关闭记录集对象

„关闭与数据库的连接

set rs=Nothing „释放rs对象实例

set cnn=Nothing „释放Connection对象实例

l 删除数据库记录前应先找到(查询)待删除的记录项(通过来实现)。

方法2:使用Connection对象的Execute方法(要求使用者要熟悉SQL命令)

例如:如果要将数据库“成绩.mdb”中的名字为“学生情况表”的数据表中,学号为'07001'的记录删除,可通过下列方法来实现。

Dim cnn As New tion „创建Connection对象cnn,关键字new用于创建新对象

"Provider=.4.0;Data Source=ACCESS数据库文件.MDB" „打开到数据库的连接

sql="delete from学生情况表where 学号='07001'" „拼写delete语句,以便进行删除

e strSQL '执行elete语句实现删除

…….

„关闭与数据库的连接

set cnn=Nothing „释放Connection对象实例

附:分页简介---使用记录集

一、.原理:

分页其实是将数据库中的记录分割成若干段,并将各段记录放在同一个“逻辑页面”上“分屏显示”出来,其实显示的“逻辑页面”只有1页,只是每次显示的页面记录不同罢了。通过控制各页中数据库显示记录的不同,来刷新页面的显示内容。

二、用到的几个记录集属性

ze:定义一页显示记录的条数;

count:统计数据库记录总数;

unt:统计总页数;

tepage:将数据库指针移动到当前页要显示的数据记录的第一条记录;比如有20条记录的一个数据库,我们分为一页显示5条记录,如将AbsolutePage属性设为2,则当前记录指针移至第2页第1条记录,也即将指针移动到第6条记录处,依次类推.... (AbsolutePage

属性是以 1 为起始的)


本文标签: 记录 数据库 对象 方法 连接