登录如图4.10所示,登录界面是用户运行该系统出现的第一个界面,用户需要根据自己的身份做出选择,并在随后的窗口中输入正确的用户名和密码。如果用户名,密码都正确则进入到随后的界面当中。
代码的设计如下(学生登录):
在第一个界面中主要起到引导的作用。所用代码为Unload Me和show语句。
在随后的界面中需要先行定义窗体级变量。即需要定义一个窗体级的Recordset 对象,该对象在Form_Load事件过程中被初始化,获得来自数据库的数据。在窗体代码窗口的通用声明部分输入如下语句进行定义:
Dim objRs As New Recordset
同时定义一个Connection对象,并进行实例化。
Dim objCn As New Connection
在Form_Load事件过程中,首先需要建立SQL Server数据库的连接,然后创建一个断开连接的客户端记录集。使用断开连接的客户端记录集可以减轻数据库服务器文护连接的负担,同时又可以提高记录浏览的效率。创建断开连接的客户端记录集需要使用Recordset对象的Open方法来打开记录集,然后关闭数据库连接。
建立数据库连接
Dim strSQL As String
With objCn
.Provider = "SQLOLEDB" '即数据提供者为SQLOLEDB
.ConnectionString = "User ID=sa;PWD=311359;Data Source=(local);" & "Initial Catalog=学生公寓管理系统" '连接数据库字符串
.Open
创建并打开一个记录集,以获得数据库中的数据信息:
End With
strSQL = "SELECT*FROM 学生登录信息 WHERE 学生学号=" & txtUserName & "" '设置打开数据集所用的SQL语句需加入WHERE,否则只认证第一行数据
Set objRs.ActiveConnection = objCn '设定数据集所用的数据库连接
objRs.Open (strSQL)
自定义的Check_PassWord函数代码:
If objRs.EOF Then '判断数据是否到达底部
Check_PassWord = 0
Else
If txtPassword <> Trim(objRs.Fields("密码")) Then
Check_PassWord = 1
Else
Check_PassWord = 2
'保存用户信息
Student_number = objRs.Fields("学生学号")
End If
End If
objCn.Close: Set objCn = Nothing '释放数据库连接
控件“Command”——“确定”的代码:
Dim strName As String
Dim strPassword As String
'检查正确的密码
strName = Trim(txtUserName.Text)
strPassword = Trim(txtPassword.Text)
If txtUserName = "" Then
MsgBox "用户名不能为空,请重试!", , "登录"
txtUserName.SetFocus
txtUserName.SelStart = 0: txtUserName.SelLength = Len(txtUserName)
Else
Select Case Check_PassWord(strName, strPassword)
Case 0
MsgBox "无效的用户,请重试!", , "登录"
txtUserName.SetFocus
txtUserName.SelStart = 0: txtUserName.SelLength = Len(txtUserName)
Case 1
MsgBox "无效的密码,请重试!", , "登录"
txtPassword.SetFocus
txtPassword.SelStart = 0: txtPassword.SelLength = Len(txtPassword)
Case 2
Unload Me
MsgBox "登录成功,将进入系统管理程序!", , "登录"
Student_inform.Show '显示下一个用户界面
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>