艾莉亚史塔克和琼恩:掌握VB中的ADO数据对象编程(登录 注册等)

来源:百度文库 编辑:偶看新闻 时间:2024/04/30 19:29:30
下面我给出一个我自己写的实例,是一个用户登录,注册,密码修改,用户删除的应用小程序.你也可以到本版的下载仓库中下载.

  具体实现方法:

  在本程序中包括了四个窗体.

  ·一个用于用户登录,名字为: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