永发信息网

求VB登陆界面详细代码

答案:2  悬赏:80  手机版
解决时间 2021-03-16 21:21
  • 提问者网友:城市野鹿
  • 2021-03-16 17:40
要求需要在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
最佳答案
  • 五星知识达人网友:北方的南先生
  • 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
--------------

给分吧!
全部回答
  • 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控件,方便!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯