国开《数据库基础与应用》第十一章 11-4-6:例11-6
11-4-6:例11-6
在公司信息管理数据库中增加一个“用户”表,表中存放使用系统的用户名和密码等信息,其表结构如图11-19所示。并在表中输入几条记录以备测试使用。
图11-19 “用户”表结构
现要求在图11-20所示的登录窗体中检测用户输入的用户名或密码是否是表中已经存在的用户名和密码,根据正确与否给出相应的提示信息。
图11-20 登录窗体的设计视图
具体操作步骤如下:
1.打开图11-20所示的登录窗体,在该窗体中,两个文本框名称分别为“username”和“password”,“确定”命令按钮的名称为“cmd_ok”,当用户在两个文本框输入了用户名和密码信息后,单击“确定”命令按钮,开始执行此命令按钮的单击事件代码。
2.事件代码首先要连接当前数据库,然后构造一条查询语句,在“用户”表中查看是否有给定的用户名和密码,执行查询语句返回记录集结果。如果没有找到记录,则记录集为空,表示用户名和密码不正确。否则表示找到了指定用户名和密码的记录,则记录集非空。
3.“确定”命令按钮的单击事件代码如下所示:
Private Sub cmd_ok_Click()
Dim conn As ADODB.Connection '定义连接对象conn
Dim rs As New ADODB.Recordset '定义记录集对象rs
Dim strSQL As String 'strSQL是查询语句对应的字符串变量
Set conn = CurrentProject.Connection 'conn对象连接到当前数据库
strSQL = "select * from 用户 where 用户名='" '本行和下一行构造查询字符串strSQL
strSQL = strSQL & username & " ' and 密码='" & password & "'"
rs.Open strSQL, conn '执行查询返回记录集到rs中
If rs.EOF Then '判断并给出提示信息
MsgBox "抱歉,用户名或密码错误!"
Else
MsgBox "恭喜您!用户名和密码正确。"
End If
End Sub
在代码中,定义了连接对象conn连接到当前数据库,定义了记录集对象rs,用于查询用户表中是否有指定的记录。运行结果如上一节图11-17和11-18所示。