用VB设计一个登陆界面,急!!!

2024-11-15 08:54:13
推荐回答(5个)
回答(1):

用VB新建一个工程,在窗体Form1上画两个label控件,一个是Label1一个是Label2,把Label1的Caption属性设为“用户名”,Label2的Caption属性设为“密码”,然后分别在这俩Label右边各画一个textbox控件,一个叫Text1,一个叫Text2,把Text2的PasswordChar属性设为“*”,同时把两个Textbox的Text属性设为空(就是都清空),然后在窗体的下部合适的位置画两个CommandButton控件,一个叫Command1,另一个叫Command2,分别设置他们的Caption属性为“确定”和“取消”。
界面就画完了,下面是代码。
先点菜单项里的工程下面的引用,找到Activex Data Objects 2.6或以上版本的类库,选中前面的对勾,然后确定,该操作是用来引用ADO对象的。
双击确定按钮,写入以下代码。
dim conn as new adodb.connection
dim rs as new adodb.recordset

if text1.text="" or text2.text="" then
msgbox "对不起,用户名与密码不能为空",vbinformation,"输入错误"
exit sub
end if

conn.connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=(这里去掉括号写入你的数据库文件路径形如:c:\aaa\bbb.mdb,这是Access数据库的用法);Persist Security Info=False"

conn.open
rs.open "select * from tbl_user where username='" & text1.text & "' and password='" & text2.text & "'",conn,3,3
if rs.recordcount<>0 then
'此处加入登录完成后要执行的操作,如果是要显示form2则参考下文
load form2
form2.show
rs.close
conn.close
unload me
else
'此处为密码验证失败。
msgbox "对不起,登录失败",vbinforamtion,"提示"
rs.close;
conn.close;
exit sub
end if

实现以上代码需要有一个用来连接的数据库,里面起码要有一张名为tbl_user的表,里边起码有两个字段,一个叫username,一个叫password,如果是Access库,则都设为“文本”类型,如果是SQL库,则都设为Varchar或nVarchar类型,还要把上面代码的连接字串修改,连接字串的获取方法很简单,你在任何路径下新建一个文本文件(记事本文件),把基扩展名改为udl,然后双击打开,按提示设置好后,再用记事本打开该文件,最后一行内容即为连接字串。
至于修改的话你可以给我邮箱里发邮件我给你详细代码。太长了这里贴出来容易出问题。jialiu830205@163.com

回答(2):

public con as adodb
Private Sub cmd_Ok_Click()
On Error GoTo errHandler
'建立全局性的数据连接
Set con = New ADODB.Connection
Dim strcon As String
strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
strcon = strcon & App.Path & "\weldES.mdb" & ";Persist Security Info=True"
con.Open strcon '找开数据库
'取得用户输入的用户名和密码
Dim user As String, pwd As String
user = txt_User
pwd = txt_Pwd
Dim strSQL As String
Select Case userType
Case 0: '若身份为管理员
strSQL = "select * from admin where userName='" & user & "' and password='" & pwd & "'"
Case 1: '若为普通用户
strSQL = "select * from userGen where userName='" & user & "' and password='" & pwd & "'"
End Select

Dim r As New ADODB.Recordset
r.Open strSQL, con, adOpenStatic

'用户密码错误的次数,如果错误次数超过3次,则退出系统
Static nTryCount As Integer
If r.EOF Then
MsgBox "对不起,无此用户或者密码不正确!请重新输入!", vbCritical, "错误"
txt_User.SetFocus
txt_User.SelStart = 0
txt_User.SelLength = Len(txt_User)
nTryCount = nTryCount + 1
If nTryCount >= 3 Then
MsgBox "你无权操作本系统", vbCritical, "焊接工艺专家系统"
Unload Me
con.Close
End If
Else
Unload Me
frmMain.Show
userNamenow = Trim(txt_User.Text) '记录当前用户名
End If
r.Close
Exit Sub
errHandler:
MsgBox Err.Description, vbCritical, "错误"

End Sub

这是我最近调试成功的,希望对你有用

回答(3):

Private Sub Command1_Click()
Static i As Integer
If Text1.Text = "" And Text2.Text = "" Then
MsgBox "请输入用户名和密码", vbOKOnly, "提示"
Text1.SetFocus
Exit Sub
End If
If Text1.Text = "admin" And Text2.Text = "admin" Then
MsgBox "用户名密码正确", vbOKOnly, "提示"
i = 0
Else
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
Text1.SetFocus
If i < 3 Then
MsgBox "用户名或密码错误,请重新输入", vbOKOnly, "提示"
i = i + 1
End If
If i = 3 Then
MsgBox "输入3次错误用户名或密码,程序将退出", vbOKOnly, "提示"
Unload Me
End If
End If
End Sub
Private Sub Form_Load()
Label1.Caption = "用户名"
Label2.Caption = "密 码"
Text1.Text = ""
Text2.Text = ""
Text2.PasswordChar = "*"
Command1.Caption = "确定"
End Sub

回答(4):

自己去源码网站搜索一个吧 简单 但费时

回答(5):

这个,去网上搜索下,会出来一大堆解决办法的。很通用的。