VB做登陆框怎样连接数据库
OptionExplicitPublicNumAsStringDimidinfoAsRecordsetDimsqlstrAsStringPrivateSubcmdCanc...
Option Explicit
Public Num As String
Dim idinfo As Recordset
Dim sqlstr As String
Private Sub cmdCancel_Click()
Me.Hide
End
End Sub
'用户登陆程序
Private Sub cmdOK_Click()
Num = Trim(txtUserName.Text)
If Combo1.Text = "" Then
MsgBox "请选择用户类型!", vbOKOnly + vbInformation, "注意"
Combo1.SetFocus
Exit Sub
ElseIf txtUserName.Text = "" Then
MsgBox "请填写用户名!", vbOKOnly + vbInformation, "注意"
txtUserName.SetFocus
Exit Sub
ElseIf txtPassword.Text = "" Then
MsgBox "请填写密码!", vbOKOnly + vbInformation, "注意"
txtPassword.SetFocus
Exit Sub
End If
Call searchUser
End Sub
'查询并登陆用户程序
Sub searchUser()
Dim i As Integer
On Error GoTo myerror
If Combo1.Text = "学生" Then
Adodc1.RecordSource = "学生用户信息"
ElseIf Combo1.Text = "管理员" Then
Adodc1.RecordSource = "密码表"
End If
Adodc1.Refresh
Adodc1.Recordset.MoveLast
Adodc1.Recordset.MoveFirst
For i = 1 To Adodc1.Recordset.RecordCount
sqlstr = "select 用户名 from 密码表"
If Trim(txtUserName.Text) = Trim(sqlstr) Then
If Trim(txtPassword.Text) = "select 密码 from 密码表" Then
Me.Hide
Select Case Combo1.Text
Case "学生"
main.Show
Case "管理员"
adminform.Show
End Select
Exit Sub
Else
MsgBox "无效的密码,请重试!", , "登录"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
Exit Sub
End If
End If
Adodc1.Recordset.MoveNext
Next
txtUserName.Text = ""
txtPassword.Text = ""
MsgBox "用户不存在!"
txtUserName.SetFocus
Exit Sub
myerror:
MsgBox "请填验证信息的正确性!", vbOKOnly + vbInformation, "注意"
Combo1.SetFocus
End Sub
'刷新用户名程序
Private Sub Combo1_Change()
txtUserName.Text = ""
End Sub 展开
Public Num As String
Dim idinfo As Recordset
Dim sqlstr As String
Private Sub cmdCancel_Click()
Me.Hide
End
End Sub
'用户登陆程序
Private Sub cmdOK_Click()
Num = Trim(txtUserName.Text)
If Combo1.Text = "" Then
MsgBox "请选择用户类型!", vbOKOnly + vbInformation, "注意"
Combo1.SetFocus
Exit Sub
ElseIf txtUserName.Text = "" Then
MsgBox "请填写用户名!", vbOKOnly + vbInformation, "注意"
txtUserName.SetFocus
Exit Sub
ElseIf txtPassword.Text = "" Then
MsgBox "请填写密码!", vbOKOnly + vbInformation, "注意"
txtPassword.SetFocus
Exit Sub
End If
Call searchUser
End Sub
'查询并登陆用户程序
Sub searchUser()
Dim i As Integer
On Error GoTo myerror
If Combo1.Text = "学生" Then
Adodc1.RecordSource = "学生用户信息"
ElseIf Combo1.Text = "管理员" Then
Adodc1.RecordSource = "密码表"
End If
Adodc1.Refresh
Adodc1.Recordset.MoveLast
Adodc1.Recordset.MoveFirst
For i = 1 To Adodc1.Recordset.RecordCount
sqlstr = "select 用户名 from 密码表"
If Trim(txtUserName.Text) = Trim(sqlstr) Then
If Trim(txtPassword.Text) = "select 密码 from 密码表" Then
Me.Hide
Select Case Combo1.Text
Case "学生"
main.Show
Case "管理员"
adminform.Show
End Select
Exit Sub
Else
MsgBox "无效的密码,请重试!", , "登录"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
Exit Sub
End If
End If
Adodc1.Recordset.MoveNext
Next
txtUserName.Text = ""
txtPassword.Text = ""
MsgBox "用户不存在!"
txtUserName.SetFocus
Exit Sub
myerror:
MsgBox "请填验证信息的正确性!", vbOKOnly + vbInformation, "注意"
Combo1.SetFocus
End Sub
'刷新用户名程序
Private Sub Combo1_Change()
txtUserName.Text = ""
End Sub 展开
3个回答
展开全部
你这样做效率低,应该直接
select * from 密码表 where 用户名='用户输入' and 密码='用户输入的密码'
然后执行sql语句,判断是否有符合条件的记录,有且只有一条记录时方可以进入系统,否则都是错误的,你这里给用户的提示要注意,不能提示密码不对或者用户名不存在之类的话,这样容易让别有用意的人去破解,你直接提示 "用户名或密码错误!"
select * from 密码表 where 用户名='用户输入' and 密码='用户输入的密码'
然后执行sql语句,判断是否有符合条件的记录,有且只有一条记录时方可以进入系统,否则都是错误的,你这里给用户的提示要注意,不能提示密码不对或者用户名不存在之类的话,这样容易让别有用意的人去破解,你直接提示 "用户名或密码错误!"
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim conn As New ADODB.Connection
conn.open Connectionstring '数据源
Sql = "select * from 表名 where 用户名='用户输入' and 密码='用户输入的密码'
" 'SQL查询语句
Set rs = New ADODB.Recordset '新建一个实例
rs.Open Sql, conn '使用 Open 方法打开数据库中的一个表
if(rs.recordcount=0) then
MsgBox "用户不存在!"
end if
conn.open Connectionstring '数据源
Sql = "select * from 表名 where 用户名='用户输入' and 密码='用户输入的密码'
" 'SQL查询语句
Set rs = New ADODB.Recordset '新建一个实例
rs.Open Sql, conn '使用 Open 方法打开数据库中的一个表
if(rs.recordcount=0) then
MsgBox "用户不存在!"
end if
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
错误是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询