哪位又 核对用户名和密码的 源代码?
Acess 或是 SQL Server 2000 的都行,谢了先
哪位又 核对用户名和密码的 源代码?
Acess 或是 SQL Server 2000 的都行,谢了先
2006-03-30 13:41
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
以上是在窗体里写的

2006-03-30 14:15
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
以上是在类模块中写的

2006-03-30 14:16
2006-03-30 14:17

2006-03-30 16:09
字符串和变量连接就要用+连接
你的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语句
看看输出的结果和你期望的结果是不是一样
这样很实用的

2006-03-30 16:15

2006-03-30 17:23

2006-03-30 17:34

2006-03-30 17:43
2006-04-03 14:44