vb登陆界面数据库
一、界面设计
各控件名称属李扮性分别为:label1 、text1 、label2、text2、commandok、cmdcancel
代码设计如下:
'首先添加一个模块,写上以下通用声明和Sub main():
Public conn As ADODB.Connection '通用(声明)
Sub main()
Set conn = New ADODB.Connection '通用(main)
conn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;" _
+ "User ID=sa;password=123;Initial Catalog=denglu;Data Source=127.0.0.1" '连接数据库代码
conn.Open
frmLogin.Show '首先显示登录界面。也可以在工程属性中设置启动对象为Sub main()或者frmlogin窗体
End Sub
'在Frmlogin 代码窗口,为cmdok控件写以下代码:
Private Sub cmdok_Click()
If text1.Text = "" Then
MsgBox "用户名不能为空!", vbOKOnly + vbInformation, "友情提示"
text1.SetFocus
Exit Sub '若用户名文本框内为空,则出现提示框
End If
If text2.Text = "" Then
MsgBox "密码不能为空!", vbOKOnly + vbInformation, "友情提示"
text2.SetFocus
Exit Sub '若输入密码文本框为空,也出现提示框
End If
Dim strSQl As String
strSQl = "select * from User1 where username='" & Trim$(text1.Text) & "' and pwd='" & Trim$(text2.Text) & "' "
'书写SQL代码,查询User1表中是否存在窗体中用户输入的信息。
Dim str As New ADODB.Recordset
Set str = New ADODB.Recordset
str.CursorLocation = adUseClient
str.Open strSQl, conn, adOpenStatic, adLockReadOnly
With str
If .State = adStateOpen Then .Close
.Open strSQl
If .EOF Then
Try_times = Try_times + 1
腔茄 If Try_times >= 3 Then
MsgBox "您已连续三次输入错误,系统将自动关闭", vbOKOnly + vbCritical, "警告"
Unload Me '若用户连续输入3次错误密码,则系统关闭
Else
MsgBox "对不起,用户名不存在或密码错误 !", vbOKOnly + vbQuestion, "警告"
text1.SetFocus
text1.Text = ""
text2.Text = ""
End If
Else
Unload Me '若登录成功,则隐藏当前窗体
Form2.Show 伍扰察'然后显示Form窗体
End If
End With
End Sub
Private Sub cmdCancel_Click()
End '若单击Cmdcel按钮,则结束应用程序
End Sub
运行中存在的问题:
代码中有Dim conn As adodb.connection,运行时显示"用户定义类型未定义"
解决方法:点击“工程”--“引用”找到“Microsoft ActiveX Data Object 2.6”
然后就就可以正常运行了。
‘贰’ vb做登录界面怎么连接数据库
PrivateSubForm_Load()迟携'此段代码的主要作用是当窗体打开时就连接数据库
DimconnAsNewADODB.Connection
芹友DimconnectionstringAsString
connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"DATE.mdb;PersistSecurityInfo=False"'数据库路径
conn.Openconnectionstring
EndSub
PrivateSubCommand1_Click()
StaticnAsInteger
Ifn>=3Then
MsgBox"输入密码次数大于3次,不允许继续登陆"
End
EndIf
Setconn=NewADODB.Connection
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;PersistSecurityInfo=False;DataSource=DATE.mdb;JetOLEDB:DatabasePassword="
DimsqlAsString
Dimrs_loginAsNewADODB.Recordset
IfTrim(Text1.Text)=""Then'检测用户名正确与否
MsgBox"用户名不能为空,请重新输入!",vbOKOnly+vbExclamation,"错误"
Text1.SetFocus
Else
sql="select*from验证WHERE用户名='"&Trim(Text1.Text)&"'"
rs_login.Opensql,conn,adOpenKeyset,adLockPessimistic
Ifrs_login.EOF=TrueThen
MsgBox码首伏"用户名不存在,请重新输入!",vbOKOnly+vbExclamation,"错误"
Text1=""
Text1.SetFocus
Else'检测密码正确与否
IfTrim(rs_login.Fields(2))=Trim(Text2)Then
rs_login.Close
UnloadMe
Form2.Show
Else
n=n+1
MsgBox"第"&n&"次密码错误,请重新输入!",vbOKOnly+vbExclamation,"错误"
Text2.SetFocus
EndIf
EndIf
EndIf
EndSub
PrivateSubCommand2_Click()
MsgBox"您已成功退出!",vbOKOnly+vbExclamation,"提示"
UnloadMe
EndSub
‘叁’ vb中如何设计登录界面怎么连接数据库
(1)新建数据升链库并命名为denglu,在该数据库中新建表User1,表包含的列为“ID,username,pwd”。
(2)设计登录界面Frmlogin,以及登录成功后要显示的界面Form2,并连接到数据库,使包含在禅洞数吵袭孙据库中的合法用户能成功登录该程序,而不合法用户则无法进入程序。
‘肆’ 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
‘伍’ vb连接SQL数据库后制作一个登陆界面。
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控件,方便!
>密码和帐号对的时候跳转到form2,在form2的的文本框text1中出现text1的帐号。
这个你只要设置一个全局变量,然后对的时候把帐号放到全局变量里,然后在打开form2时显示这个全局变量到text1里就行了。