要求需要在VB里面做 密码,用户名可以登陆,通过所绑定的数据库定义的用户 就是说数据库里的用户名跟密码在登陆界面里都可以登陆! 需要详细的代码 急求哦!!帮忙哦!!!
以下是我之前做的 人家说只能登陆一个用户 他们需要的是数据库里的用户都可以登陆
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If TextBox1.Text = 777 And TextBox2.Text = 888 Then
MsgBox("登陆成功!") form1.show()
Else
MsgBox("输入错误")
End If
End Sub
End Class
这里我建立了2个BUTTON 2个TEXTBOX
求VB登陆界面详细代码
答案:2 悬赏:80 手机版
解决时间 2021-03-16 21:21
- 提问者网友:城市野鹿
- 2021-03-16 17:40
最佳答案
- 五星知识达人网友:北方的南先生
- 2021-03-16 18:16
1.拖出两个text 两个command 分别命名为:txtUser ,txtPwd ,cmdLoginEnter ,cmdLoginCancel
2.在程序根目录下新建 date.mdb 数据库 表名为:user
字段1为:username 字段2为:pwd 数据库密码为:111
(可根据) Set dbLogin = OpenDatabase(App.Path + "\Data.mdb", False, False, "MS Access;pwd=111") 修改自定义。
3.复制以下代码。
------------
Option Explicit
Dim intTryTimes As Integer
Dim dbLogin As Database
Dim rstLogin As Recordset
Private Sub cmdLoginCancel_Click()
End
End Sub
Private Sub cmdLoginEnter_Click()
If Me.txtUser = "" Then
MsgBox "用户名不能为空!", vbCritical, Me.Caption
Me.txtUser.SetFocus
GoTo ExitSub
ElseIf Me.txtPwd = "" Then
MsgBox "请填写密码!", vbCritical, Me.Caption
Me.txtPwd.SetFocus
GoTo ExitSub
End If
Set rstLogin = dbLogin.OpenRecordset("select * from User where Username='" + Trim(Me.txtUser) + "'")
If rstLogin.RecordCount = 0 Then
MsgBox "用户名填写错误!", vbCritical, "错误"
Me.txtUser.SetFocus
Me.txtUser.SelStart = 0
Me.txtUser.SelLength = Len(Me.txtUser)
GoTo ExitSub
End If
If rstLogin.Fields("Pwd") = Trim(Me.txtPwd) Then
'登陆成功
' userName = Trim(Me.txtUser)
Unload Me
Form1.Show
' Call Sound("Login")
Else
MsgBox "密码错误!", vbCritical, "错误"
Me.txtPwd.SetFocus
Me.txtPwd.SelStart = 0
Me.txtPwd.SelLength = Len(Me.txtPwd)
End If
GoTo ExitSub
ExitSub:
intTryTimes = intTryTimes + 1
If intTryTimes = 4 Then
MsgBox "密码错误!", vbInformation, Me.Caption
End
End If
End Sub
Private Sub Form_Load()
Me.Left = Screen.Width / 2 - Me.Width / 2
Me.Top = Screen.Height / 2 - Me.Height / 2
Me.Caption = "登陆"
intTryTimes = 0
Set dbLogin = OpenDatabase(App.Path + "\Data.mdb", False, False, "MS Access;pwd=111")
' Set rstLogin = dbLogin.OpenRecordset("select Username from User")
' If rstLogin.RecordCount <> 0 Then
' Me.txtUser = rstLogin.Fields("Username")
' End If
Show
Me.txtUser.SetFocus
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set rstLogin = Nothing
dbLogin.Close
End Sub
Private Sub txtPwd_GotFocus()
Me.txtPwd.SelStart = 0
Me.txtPwd.SelLength = Len(Me.txtPwd)
End Sub
Private Sub txtPwd_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Call cmdLoginEnter_Click
End If
End Sub
Private Sub txtUser_GotFocus()
Me.txtUser.SelStart = 0
Me.txtUser.SelLength = Len(Me.txtUser)
End Sub
Private Sub txtUser_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Call cmdLoginEnter_Click
End If
End Sub
--------------
给分吧!
2.在程序根目录下新建 date.mdb 数据库 表名为:user
字段1为:username 字段2为:pwd 数据库密码为:111
(可根据) Set dbLogin = OpenDatabase(App.Path + "\Data.mdb", False, False, "MS Access;pwd=111") 修改自定义。
3.复制以下代码。
------------
Option Explicit
Dim intTryTimes As Integer
Dim dbLogin As Database
Dim rstLogin As Recordset
Private Sub cmdLoginCancel_Click()
End
End Sub
Private Sub cmdLoginEnter_Click()
If Me.txtUser = "" Then
MsgBox "用户名不能为空!", vbCritical, Me.Caption
Me.txtUser.SetFocus
GoTo ExitSub
ElseIf Me.txtPwd = "" Then
MsgBox "请填写密码!", vbCritical, Me.Caption
Me.txtPwd.SetFocus
GoTo ExitSub
End If
Set rstLogin = dbLogin.OpenRecordset("select * from User where Username='" + Trim(Me.txtUser) + "'")
If rstLogin.RecordCount = 0 Then
MsgBox "用户名填写错误!", vbCritical, "错误"
Me.txtUser.SetFocus
Me.txtUser.SelStart = 0
Me.txtUser.SelLength = Len(Me.txtUser)
GoTo ExitSub
End If
If rstLogin.Fields("Pwd") = Trim(Me.txtPwd) Then
'登陆成功
' userName = Trim(Me.txtUser)
Unload Me
Form1.Show
' Call Sound("Login")
Else
MsgBox "密码错误!", vbCritical, "错误"
Me.txtPwd.SetFocus
Me.txtPwd.SelStart = 0
Me.txtPwd.SelLength = Len(Me.txtPwd)
End If
GoTo ExitSub
ExitSub:
intTryTimes = intTryTimes + 1
If intTryTimes = 4 Then
MsgBox "密码错误!", vbInformation, Me.Caption
End
End If
End Sub
Private Sub Form_Load()
Me.Left = Screen.Width / 2 - Me.Width / 2
Me.Top = Screen.Height / 2 - Me.Height / 2
Me.Caption = "登陆"
intTryTimes = 0
Set dbLogin = OpenDatabase(App.Path + "\Data.mdb", False, False, "MS Access;pwd=111")
' Set rstLogin = dbLogin.OpenRecordset("select Username from User")
' If rstLogin.RecordCount <> 0 Then
' Me.txtUser = rstLogin.Fields("Username")
' End If
Show
Me.txtUser.SetFocus
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set rstLogin = Nothing
dbLogin.Close
End Sub
Private Sub txtPwd_GotFocus()
Me.txtPwd.SelStart = 0
Me.txtPwd.SelLength = Len(Me.txtPwd)
End Sub
Private Sub txtPwd_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Call cmdLoginEnter_Click
End If
End Sub
Private Sub txtUser_GotFocus()
Me.txtUser.SelStart = 0
Me.txtUser.SelLength = Len(Me.txtUser)
End Sub
Private Sub txtUser_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Call cmdLoginEnter_Click
End If
End Sub
--------------
给分吧!
全部回答
- 1楼网友:底特律间谍
- 2021-03-16 18:31
例如:你现在的登录界面上有两个文本框控件,名为:text1和text2 ,分别用来输入用户名和密码,如果设置初始用户名为:李明 ,初始密码为:12345
另外用两个label控件,caption属性设置分别为:用户名,密码。放在两个文本框左边,用来提示输入信息。
再加一个command控件,名为command1,caption属性设置为:确定。
在command1_click事件里编写如下代码:
if text1.text = "" or text2.text = "" then '用户名和密码不能为空
msgbox ("请输入完整的用户名和密码")
else
if text1.text = "李明" then
if text2.text = "12345" then
msgbox ("登录成功")
else
msgbox ("密码错误")
end if
else
msgbox ("用户名错误")
end if
end if
当然,这段代码只是判断了你输入的用户名和密码是否正确,并没有进行下一步的操作,具体的你自己试试吧。
如果要连接数据库的话
option explicit
private function selectsql(sql as string) as adodb.recordset '返回adodb.recordset对象
dim connstr as string
dim conn as adodb.connection
dim rs as adodb.recordset
set rs = new adodb.recordset
set conn = new adodb.connection
'on error goto myerr:
connstr = "provider=sqloledb.1;persist security info=true;user id=登录数据库用户名(默认为sa);password=登录数据库密码;initial catalog=数据库名;data source=服务器名(默认为:merrychina)" '这是连接sql数据库的语句
conn.open connstr
rs.cursorlocation = aduseclient
rs.open trim$(sql), conn, adopendynamic, adlockoptimistic
set selectsql = rs
'exit function
'myerr:
'set rs = nothing
'set conn = nothing '释放相关的系统资源
'msgbox err.description, vbinformation, "系统提示" '显示出错信息
end function
private sub form_load()
dim sql as string
dim rs as adodb.recordset
dim x as long
on error goto err_box
sql = " select * from 用户表"
set rs = selectsql(sql)
if rs.recordcount > 0 then
rs.movefirst
for x = 1 to rs.recordcount
combo1.additem rs.fields("用户名").value
rs.movenext
next x
combo1.listindex = 0
end if
rs.close
exit sub
err_box:
end sub
private sub command1_click()
dim sql as string
dim rs as adodb.recordset
if text1.text = "" then
msgbox "请输入口令!", 16
text1.setfocus
exit sub
end if
if combo1.text = "" then
msgbox "请选择登录用户!", 16
combo1.setfocus
exit sub
end if
sql = "select * from 用户表 where 用户名='" & combo1.text & "' and 密码='" & text1.text & "' "
set rs = selectsql(sql)
if rs.recordcount > 0 then
form1.show '想要打开的主窗体
msgbox "恭喜兄弟,登录成功!", 64, "提示"
unload me
else
msgbox "口令不对,请重新输入!", 16, "提示"
text1.setfocus
end if
end sub
'**********************************************************************
'说明:1) 在工程中引用microsoft activex data objects 2.8 library ,其它版本也行如:2.0
' 2) 在窗体中加texe1.text(文本框控件),combo1.text(组合框控件),command1(命令按钮)各一个
' 3) 在sql server2000中创建数据库,新建表"用户表",表中包含"id,姓名,密码"等字段,然后将以上代码复制,ok搞定
4) 以上方式无需加载ado控件,方便!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯