哪位又 核对用户名和密码的 源代码?
Acess 或是 SQL Server 2000 的都行,谢了先
哪位又 核对用户名和密码的 源代码?
Acess 或是 SQL Server 2000 的都行,谢了先
Private Sub cmd_submit_Click()
dt_name = check(tt_name)
dt1_pwd = check(tt_pwd.Text)
dt_code = check(tt_code)
If dt_name = "" Or dt1_pwd = "" Or dt_code = "" Then
MsgBox "对不起,请输入完整信息!", vbOKOnly, "错误!"
tt_name.SetFocus
Else
If dt_code <> rndcode Then
MsgBox "对不起,您输入的验证码不正确!", vbOKOnly, "错误!"
tt_code.Text = ""
Else
If conn() Then
dt_pwd = md5(check(tt_pwd.Text))
If openrs("select * from admin where user_name='" + dt_name + "' and user_pwd='" + dt_pwd + "'") Then
If Not (rs.eof And rs.bof) Then
If rs!user_grade = "admin" Then
fm_admin.Visible = True '如果数据库中用户等级是管理员,则转到管理员管理窗口
Else
If rs!user_grade = "user" Then
fm_user.Visible = True '如果数据库中的用户等级是普通用户,则转到普通用户管理窗口
End If
End If
username = rs!user_name
'MsgBox username
Unload fm_login
Else
MsgBox "对不起,您输入的用户名或密码错误!", vbOKOnly, "错误!"
tt_name.SetFocus
End If
Else
MsgBox "数据库连接错误!解决方案请于软件制作人联系", vbOKOnly, "错误!"
End
End If
End If
End If
End If
End Sub
以上是在窗体里写的
Option Explicit
Public cn As ADODB.Connection
Public rs As ADODB.Recordset
Public rspt As ADODB.Recordset
Public a As String
Public Function conn() As Boolean
Set cn = New Connection
On Error GoTo cnerr
Dim connect As Boolean
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\system.ini;"
cn.ConnectionTimeout = 20
cn.Open
conn = True
Exit Function
cnerr:
conn = False
MsgBox Err.Description
End Function
Public Function openrs(ByVal sqlstr As String) As Boolean
Set rs = New Recordset
On Error GoTo rserr
rs.Open sqlstr, cn, adOpenDynamic, adLockOptimistic, -1
openrs = True
Exit Function
rserr:
openrs = False
MsgBox Err.Description
End Function
以上是在类模块中写的
字符串和变量连接就要用+连接
你的dt_name要是变量的话就需要+号
同样
变量和字符串连接也要用+
"select * from admin where user_name='" + dt_name + "' and user_pwd='" + dt_pwd + "'"
这个可以分成几个部分
1,"select * from admin where user_name='" 字符串
2, + dt_name + 变量
3,"' and user_pwd='" 字符串
4,变量 + dt_pwd +
5,"'"
因为SQL语句的需要,所以要用到单引号,不过单引号相当于字符串
告诉你最简单的调试方法
就是输出你的SQL语句
看看输出的结果和你期望的结果是不是一样
这样很实用的