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
展开
 我来答
ddrddrddr2010
2010-08-04 · TA获得超过431个赞
知道小有建树答主
回答量:322
采纳率:0%
帮助的人:358万
展开全部
你这样做效率低,应该直接
select * from 密码表 where 用户名='用户输入' and 密码='用户输入的密码'
然后执行sql语句,判断是否有符合条件的记录,有且只有一条记录时方可以进入系统,否则都是错误的,你这里给用户的提示要注意,不能提示密码不对或者用户名不存在之类的话,这样容易让别有用意的人去破解,你直接提示 "用户名或密码错误!"
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
630sc
2010-08-04
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友30cc6ab
2010-08-04 · TA获得超过574个赞
知道小有建树答主
回答量:1336
采纳率:0%
帮助的人:839万
展开全部
错误是?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式