vb登陆界面用户名调用数据库如何实现?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb登陆界面用户名调用数据库如何实现?相关的知识,希望对你有一定的参考价值。

要连接数据库,如果是数据库用户表里的用户,且密码对应正确就登陆成功!
希望各位指教一下,我总是连接不起来,网上找了很多,不太懂,用不出来,最好稍微解释下,谢谢!!!

使用Access 2003来建立一个新的空数据库,命名为db1,存储路径为D:\\db1,在db1中创建一张新的表格,命名为用户信息表,并设定用户信息表中有两个字段,分别为用户名称和用户口令,注意它们的数据类型均为文本格式,一定要注意,不然到后面代码就会出错,而且极难查错。 完成设计视图之后输入一条记录,记录中的用户名属性值为Angel,密码为123。输入一条记录的目的是用于检验登录代码是否正确以及起到一点演示效果。

下面打开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登陆界面用户名调用数据库如何实现?的主要内容,如果未能解决你的问题,请参考以下文章

vb连接SQL数据库后制作一个登陆界面。

vb程序登陆的用户名和密码在哪里找?

愿给50分 请教高手 java 如何实现不同用户登陆后看见的界面不同

实验任务四:实现登陆界面

Android上如何实现自动登陆功能?

如何用delphi 做个一个用户登陆界面