加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

初识vb数据库开发之实例1(系统登录)

发布时间:2020-12-16 22:25:32 所属栏目:大数据 来源:网络整理
导读:设计分析 一般数据库管理系统登录对话框有两种基本方法 方法1:在数据库中建立一个数据表用于保存系统用户登录信息,在设计登录对话框时通过查询该数据表完成验证.(一般性) 方法2:对于一些支持安全验证的数据库管理系统,如SQL可将系统用户定义为数据库用户,再

设计分析

一般数据库管理系统登录对话框有两种基本方法

方法1:在数据库中建立一个数据表用于保存系统用户登录信息,在设计登录对话框时通过查询该数据表完成验证.(一般性)

方法2:对于一些支持安全验证的数据库管理系统,如SQL可将系统用户定义为数据库用户,再设计登录对话框时使用输入的用户名和登录口令来连接数据库,让数据库管理系统完成验证.

技术要领

设置默认按钮:将命令按钮控件的default属性设置为true,设置完以后按enter键即可选择该按钮

设置取消按钮:将命令按钮的cancle属性设置为true.设置完以后按esc键或该按钮获得焦点时按enter键来选择它

自定义函数过程

Function 函数名(参数1 AS 数据类型,参数2 AS数据类型 …...)AS数据类型

……

函数名=返回值

……

End Function

注:要从函数返回一个值只需将该值赋给函数名,在过程的任意位置都可以出现这种赋值。如果没有对函数过程指定返回值,则过程将返回一个默认值:数值函数返回0,字符串函数返回一个零长度的字符串(""),Variant函数则返回Empty

操作

1.创建数据库

(1在vb中选择"外接程序"->"可视化数据管理器"命令)

(2)点击文件->新建->Microsoft Access->Version7.0 MDB命令,在文件名写上"实例1"作为数据库的文件名

(3)点击保存

因为是新建的数据库,数据库窗口中仅显示了一个Properties节点.此节点的属性为

(4)在数据库窗口中单击鼠标右键,选择"新建表"

(5)在表名称文本框中输入"系统用户"作为数据表名称,

(6)单击添加字段按钮,在此对话框中需要制定字段的名称,类型,大小,顺序位置,验证文本,验证规则,默认值,自动增加,字段大小固定或可变,是否为零长度,是否是必要的字段等信息

(7)设置完成以后单击确定按钮,完成一个字段的添加,同时添加字段对话框被复位可继续添加

(8)单击添加索引

(9)添加完索引之后的表结构

(10)为数据表添加了字段和索引之后单击生成表按钮创建数据表

(11)右击"系统用户",选择"打开"

(12)单击添加按钮

(13)输入用户名和口令后单击更新按钮

(14)退出可视化数据管理器,完成创建数据库的创建

2.设计窗体

窗体包括两个文本框,两个标签,两个按钮

注:文本框的名称改为txtpassword 和txtusername,并且将txtpassword 的passwordchar属性设置为*(用*代替用户输入,达到隐藏口令的目的)

按钮的名称改为cmdok和cmdcancel

3.建立ADO引用

选择 工程->引用

4.编写代码

Option Explicit
Const MaxLogTimes As Integer = 3 '定义允许用户严重呢个登录信息的最多次数
'取消按钮 Private Sub cmdCancel_Click()
Dim intResult As Integer  '请求用户是否真的退出系统登录

intResult = MsgBox("您是否真的要退出系统登录,退出将不能启动管理系统!" & vbCrLf _
& "是否真的退出?",vbYesNo,"登录验证")

If intResult = vbYes Then End
End Sub

'确定按钮 Private Sub cmdOK_Click()
Static intLogTimes As Integer
Dim intChecked As Integer,strName As String,strPassword As String
intLogTimes = intLogTimes + 1 '计算登陆次数
If intLogTimes > MaxLogTimes Then
   MsgBox " 你已经超过允许登陆次数!" & vbCr _
    & " 应用程序将结束!",vbCritical,"登录验证"

   End
Else
   strName = Trim(txtUserName.Text) '获得输入的用户名
   strPassword = Trim(TxtPassWord.Text) '获得输入的口令
   '检查用户名和口令的合法性,并根据检查返回值执行相应的操作
   Select Case Check_PassWord(strName,strPassword)
      Case 0
      MsgBox "<" & strName & _
      ">不是系统用户,请检查用户名输入是否正确!","登录验证"
       txtUserName.SetFocus
       txtUserName.SelStart = 0
       txtUserName.SelLength = Len(txtUserName)
      Case 1
       MsgBox "口令错误,请重新登录!","登录验证"
       TxtPassWord = ""
       TxtPassWord.SetFocus
      Case 2   '口令正确
       Unload Me
       MsgBox "登陆成功,将启动系统程序!",vbInformation,"登录验证"
      Case Else
       MsgBox "登录验证未正常完成!请重新运行登陆程序," & vbCrLf _
       & "如果仍不能正常登录,请报告系统管理员!","登录验证"
       
      End Select
   
 End If
 

End Sub

'用户名和口令的验证过程 Private Function Check_PassWord(ByVal UserName As String,ByVal Password As String) As Byte

On Error GoTo gperror
Dim objCn As New Connection,objRs As New Recordset,strCn As String
Dim strSQL As String
'建立数据库连接
'MsgBox (App.Path)
objCn.ConnectionString = "Provider=Microsoft.jet.oledb.3.51;" & _
 "Data source=" & "D:VB98系统登录实例1.mdb"
 'MsgBox (objCn.ConnectionString)
objCn.Open
'执行查询命令,获得用户登录口令
strSQL = "SELECT 口令 FROM 系统用户 WHERE 用户名='" & UserName & "'"
Set objRs.ActiveConnection = objCn
objRs.Open (strSQL)
'判断有无查询结果
If objRs.EOF Then
   Check_PassWord = 0 '没有查询结果,表示该用户为非法用户
Else
   If Password <> Trim(objRs.Fields("口令").Value) Then
      Check_PassWord = 1 '口令不正确
    Else
      Check_PassWord = 2 '口令正确
   End If
End If

'关闭数据库连接,释放对象
objCn.Close
Set objRs = Nothing
Set objCn = Nothing
Exit Function

gperror:
  Check_PassWord = 255
  Set objRs = Nothing
  Set objCn = Nothing
  
End Function

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读