永发信息网

求VB登陆界面详细代码

答案:2  悬赏:80  手机版
解决时间 2021-03-16 21:21
要求需要在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
最佳答案
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
--------------

给分吧!
全部回答
例如:你现在的登录界面上有两个文本框控件,名为: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控件,方便!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
女生会愿意她男朋友把她照片设置成手机壁纸吗
带琪的qq名
1985年一元长城硬币值多少钱
sm中不许m说话也是一种惩罚吗
踏板摩托车的125发动机上写的是W-Y是什么牌子
求推荐9000左右的超薄好看的笔记本。
西路军战败,听说只剩97人,找何长公现在有一
有机氨介质用304不锈钢管道可以吗
“深造”的近义词是什么?
头发自来卷,熨头帘的技巧
有利金服和P2P有什么区别吗?
播主面试清唱唱什么?
大家说斯恩帕篮球怎么样??
猜三个字的歇后语
331省道327公里350米有违章
推荐资讯
北京昌平蟒山森林公园有什么好玩的景点?
multimedia.image是什么意思
珠海市法律援助服务大厅这个地址在什么地方,
带有繁体天字的元宝?
动漫艺术对于培育新的经济增长点具有重要意义
闪之轨迹学园祭礼券给谁好
mlily乐梦床垫好不好
网上斩停的烟草证能恢复吗
等到现在,这不是骗人吗
凯源文王俊凯是洒吧老板。王源是杀手。求这篇
染这种亚麻色一定要漂吗?
去除AB胶水痕是医用酒精好些还是工业酒精好些
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?