📄 vb6.0使用ado对象连接数据库.txt
字号:
Recordset.Delete AffectRecords
其中的,AffectRecords参数是确定Delete方法作用的方式的,它的取值如下:
·adAffectCurrent 只删除当前的记录
·adAffectGroup 删除符合Filter属性设置的那些记录.为了一次能删除一组数据,应设置Filter属性.
(d)查询记录
在ADO中查询的方法很灵活,有几种查询的方法.
·使用连接对象的Execute方法执行SQL命令,返回查询记录集.
·使用Command对象的Execute方法执行CommandText属性中设置的SQL命令,返回查询记录集.
第一个方法的具体语法在前面数据连接时已经介绍过了,下面就第二方法具体说一下.
Command对象的Execute方法的语法如下:
Command.Execute RecordsAffected, Parameters, Options '不返回记录集
或者 Set Rscordset=cmmnad.Execute(RecordsAffected,Parameters,Options) '返回记录集
CommandText的语法为:
Command.CommandText=stringvariable
其中: stringvariable为字符串变量,包含SQL语句,表名或存储过程.
(4) 断开连接
在应用程序结束之前,应该释放分配给ADO对象的资源,操作系统回收这些资源并可以再分配给其他应用程序。
使用的方法为:Close方法。
语法如下:
Object.Close ' Object为ADO对象
好了,说了那么多的理论,下面我们就应用一下吧!
下面我给出一个我自己写的实例,是一个用户登录,注册,密码修改,用户删除的应用小程序.你也可以到本版的下载仓库中下载.
具体实现方法:
在本程序中包括了四个窗体.
·一个用于用户登录,名字为:FormDengLu;
·一个用于用户注册,名字为:FormZhuCe;
·另一个为用于用户修改密码,名字为:FormXiuGai;
·最后一个用于用户删除,名字为:FormShanChu.
下面进行ADO对象的定义与设置,不过在这之前你必须在工程中引用ADO对象.
定义ADO对象:
Dim ZhuCe As ADODB.Connection ' ZhuCe为连接对象
Dim rstZhuCe As ADODB.Recordset 'rstZhuCe为记录集对象
Dim cmmZhuCe As ADODB.Command 'cmmZhuCe为命令对象
在Form_Load过程中应进行如下的ADO设置:
Set ZhuCe = New ADODB.Connection '设置连接对象实例
ZhuCe.CursorLocation = adUseClient
'打开数据源连接
ZhuCe.Open "provider=Microsoft.Jet.OLEDB.4.0;Data Source=App.Path\注册.mdb"
'设置记录集对象实例
Set rstZhuCe = New ADODB.Recordset
Set rstZhuCe.ActiveConnection = ZhuCe
'打来记录集
rstZhuCe.Open "select * from 注册", ZhuCe, adOpenStatic, adLockOptimistic
'设置命令对象实例
Set cmmZhuCe = New ADODB.Command
Set cmmZhuCe.ActiveConnection = ZhuCe
添加新的用户信息(原码)
If TextYongHuMing.Text = "" Or TextMiMa.Text = "" Or _
TextTiShiWenTi.Text = "" Or TextTiShiDaAn.Text = "" Then
MsgBox "笔添信息没有添完,请输入完全", vbOKOnly + vbExclamation, "提示"
Else
If TextJiaoYan.Text = TextMiMa.Text Then
rstZhuCe.MoveLast '记录集中的移动方法,指针移动到记录集的末尾
rstZhuCe.AddNew '添加新的记录
rstZhuCe!用户名 = TextYongHuMing.Text
rstZhuCe!密码 = TextMiMa.Text
rstZhuCe!姓名 = TextXingMing.Text
rstZhuCe!昵称 = TextNiCheng.Text
rstZhuCe!联系地址 = TextLianXiDiZhi.Text
rstZhuCe!邮政编码 = TextYouBian.Text
rstZhuCe!OICQ = TextOICQ.Text
rstZhuCe!电子邮件 = TextMail.Text
rstZhuCe!呼机 = TextHuJi.Text
rstZhuCe!手机 = TextShouJi.Text
rstZhuCe!密码提问 = TextTiShiWenTi.Text
rstZhuCe!提问答案 = TextTiShiDaAn.Text
rstZhuCe!电话号码 = TextDianHua.Text
rstZhuCe.Update '将上面所有的信息存储到数据库中
MsgBox "注册成功", vbOKOnly + vbInformation, "注册成功"
Else
MsgBox "校验密码与密码不一致,请重新输入", vbOKOnly + vbExclamation, _
"密码错误"
TextMiMa.Text = ""
TextJiaoYan.Text = ""
End If
End If
下面为修改用户密码(在此中我并没用到上面提到的两种方法,但是这种方法也很简单,实际上应该是属于第一种方法.
代码如下:
Dim a As String
Dim b As String
If TextYongHuMing.Text = "" Or TextMiMa.Text = "" Or TextJiaoYanMiMa.Text = "" Or TextXinMiMa.Text = "" Then
MsgBox "修改信息填写不完全,请重新填写!", vbOKOnly + vbInformation, "修改错误"
TextYongHuMing.Text = ""
TextMiMa.Text = ""
TextJiaoYanMiMa.Text = ""
TextXinMiMa.Text = ""
Else
If TextXinMiMa.Text <> TextJiaoYanMiMa.Text Then
MsgBox "校验密码与新密码不一致,请重新填写!", vbOKOnly + vbExclamation, "密码错误"
TextJiaoYanMiMa.Text = ""
TextXinMiMa.Text = ""
End If
a = "select 用户名,密码 from 注册 where 用户名 ='" & _
TextYongHuMing.Text & _
"' AND 密码 = '" & _
TextMiMa.Text & "';"
rstZhuCe.Open a, ZhuCe, adOpenKeyset, adLockOptimistic
rstZhuCe!密码 = TextXinMiMa.Text
MsgBox "密码修改成功,您的新密码是:" & rstZhuCe!密码 & "!", vbOKOnly + vbInformation, "修改成功"
End If
也许你这样看起来的确实有点麻烦,不过你可以去下载全部程序,那样看起来比较简单!
下面是用户的删除.
代码如下:
Dim a As String
Dim ok As Integer
Dim i As Integer
rstZhuCe.MoveFirst
For i = 0 To rstZhuCe.RecordCount - 1
If rstZhuCe!用户名 = ComboYongHuMing.Text And rstZhuCe!密码 = TextMiMa.Text Then
ok = MsgBox("你确定真的要将此用户删除吗?", vbOKCancel + vbQuestion, "提示")
If ok = 1 Then
rstZhuCe.Delete adAffectCurrent '删除所找到的用户
MsgBox "此用户已经成功删除!", vbOKOnly + vbInformation, "删除成功"
End If
End If
rstZhuCe.MoveNext
Next I
好了到此为止,我向大家介绍了一下ADO对象的简单知识与基本用法,并赋上我的一点经验供大家参考。
4////////////////
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;data 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 & ";pwd=" & DbPw & ";DRIVER=SQL Server;DATABASE=" & DbName & ";WSID=GQSOFT;SERVER=" &
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -