vb登陆界面用户名调用数据库如何实现?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb登陆界面用户名调用数据库如何实现?相关的知识,希望对你有一定的参考价值。
要连接数据库,如果是数据库用户表里的用户,且密码对应正确就登陆成功!
希望各位指教一下,我总是连接不起来,网上找了很多,不太懂,用不出来,最好稍微解释下,谢谢!!!
下面打开VB6.0,建立一个新的工程,命名为工程1,打开就有一个新的窗体Form1。布置界面如图所示,当然这只是个示例,你可以有更好的界面设计。图中,管理员名称和口令是两个文本框,名称分别为TxtUserName 和TxtPassword,登录和取消为两个按钮,名称分别为CmdLogin和CmdCancel。
准备工作完成之后,就可以添加代码了。代码如下,我将逐行注释。
取消按钮最为简单,代码如下:
Private Sub CmdCancel_Click()
\'//结束
End
End Sub
下面添加登录按钮的代码。
Private Sub CmdLogin_Click()
Dim UserName As String
Dim PassWord As String
Dim conn As New ADODB.Connection \'定义新的连接
Dim rs As New ADODB.Recordset \'定义新的记录集
Dim StrSQL As String \'定义字符串StrSQL
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\db1.mdb" \'打开连接,指定连接路径和支持
UserName = Trim(TxtUserName.Text) \'将文本框内的值赋给定义好的变量,trim为类型转换函数
PassWord = Trim(TxtPassword.Text)
If UserName = "" Or PassWord = "" Then \'如果输入的用户名和密码为空则
MsgBox "对不起,用户或密码不能为空!请重新输入!!", vbCritical, "错误"
ElseIf UserName <> Empty And PassWord <> Empty Then \'否则如果用户名与密码都不为空则Cnum自加1,Cnum为窗体载入时添加数字变量,用于记录错误登录次数
Cnum = Cnum + 1
StrSQL = "select * from 用户信息表 where 用户名称= \'" & UserName & "\'and 用户口令 =\'" & PassWord & "\'"
\'从用户信息表中查询用户名称和用户口令两个字段并获得属性值,为下面的判断语句做准备
rs.Open StrSQL, conn, adOpenKeyset, adLockPessimistic \'//打开记录集,可以用数字代替
If rs.EOF = True Then \'此句为判断的核心语句,EOF的返回值表示为最后一行的后一行,和BOF类似,返回值为TRUE,则表示表中不存在这一行记录,由此判断密码是否与表中记录相一致,从而达到验证的目的。
MsgBox "对不起,无此用户或者密码不正确!请重新输入!!", vbCritical, "错误"
TxtUserName.Text = "" \'置文本框为空
TxtPassword.Text = ""
TxtUserName.SetFocus
rs.Close \'每次打开记录完成后需要注意及时关闭,不然下次使用时会出错
If Cnum >= 3 Then \'判断输入错误次数,以提高系统的安全性能
MsgBox "对不起,您已经多次失败,无权操作本系统!", vbCritical, "无权限"
Unload Me
Exit Sub
End If
Else \'登陆成功,以下为权限验证
Form2.Show
Unload Me
End if
End if
End Sub
Private Sub Form_Load()
\'//加载主窗时给文本框赋值
Cnum = 0 参考技术A 用一ADODC组件连接数据库
以用户输入的用户名为条件进行数据库查询得到一数据集,
再将数据集中的密码字段与用户输入的密码进行比较,正确则登陆,否则登陆失败 参考技术B
http://www.dn3s.cn/soft/01企业人事管理系统.rar
你把这个程序下载下来,这是源码,你看一下,有不明白的。QQ:9412983
参考技术C Private Sub cmdok_Click()'判断用户名是否为空
If Me.txtusername.Text = "" Then
r = MsgBox("请输入用户名!", , "应付帐管理")
txtusername.SetFocus
Exit Sub
End If
'判断密码是否为空
If Me.txtuserpwd.Text = "" Then
rr = MsgBox("请输入密码!", , "应付帐管理")
txtuserpwd.SetFocus
Exit Sub
End If
'连接数据库
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=dbdesign;Data Source=043DDAC1AF9145E"
Set rs = New ADODB.Recordset
Dim s_Sql As String
'判断用户是否存在
s1_sql = "SELECT * FROM uuser WHERE username='" & Trim(txtusername.Text) & "' and pwd='" & Trim(Me.txtuserpwd.Text) & "'" '从数数据库中查询相应首字母的词条
rs.Open s1_sql, cn, adOpenStatic, adLockOptimistic '执行SQL语句
On Error Resume Next
rs.MoveFirst '移到第一条记录
If Err = 3021 Then
r = MsgBox("用户名或密码错误,请重新检查!", , "应付帐管理") '加一个错误处理
Exit Sub
End If
End Sub
Private Sub cmdreset_Click()
txtusername.Text = ""
txtuserpwd.Text = ""
End Sub本回答被提问者采纳 参考技术D 你是怎么写的?
以上是关于vb登陆界面用户名调用数据库如何实现?的主要内容,如果未能解决你的问题,请参考以下文章