这个判断怎么会是这样的?帮忙解决一下。谢谢各位了!!!!!

dtysam 2004-01-16 11:29:54
Private Sub Command1_Click()

If Text1.Text = "" Then
MsgBox "请输入用户名"
Exit Sub
ElseIf Text2.Text = "" Then
MsgBox "请输入密码"
Exit Sub
End If
rs.Close
rs.Open "select * from STU_INFO where U_Name='" & Text1.Text & "'", conn, adOpenDynamic, adLockBatchOptimistic
If Not (rs.EOF And rs.BOF) Then
if text2.text<>rs!U_Password then
msgbox "密码错误"
else
MsgBox "登陆成功"
Form2.Show
Unload Me
Else
MsgBox "没有该用户"
End If
End Sub

运行后,用户名和密码都能与表中的对应,可还是现实的是“密码错误”,我该怎么办呢?
...全文
84 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
华芸智森 2004-01-20
  • 打赏
  • 举报
回复

将下面这段
if text2.text<>rs!U_Password then
msgbox "密码错误"
else

改成。

if UCASE$(TRIM$(text2.text))<>UCASE$("" & rs!U_Password) then
msgbox "密码错误"
else

还有,保存密码和用户名的字段最好是:varchar(),不要用VARCHAR()
其中的区别想必你已知道。
chinaren502 2004-01-19
  • 打赏
  • 举报
回复
同意楼上
vbman2003 2004-01-19
  • 打赏
  • 举报
回复
我也认为你这句写反了“text2.text<>rs!U_Password”
应该 “rs!U_Password<>text2.text”吧
我改了一下你代码的顺序,你试试:
rs.Open "select * from STU_INFO where U_Name='" & Text1.Text & "'", conn, adOpenDynamic, adLockBatchOptimistic
If rs.EOF = True Then
MsgBox "没有这个用户,请重新输入用户名!"
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
Else
If rs!U_Password = Trim(Text2.Text) Then
MsgBox "登陆成功"
Form2.Show
Unload Me
Else
MsgBox "你输入的密码不正确,请重新输入!"
Text2.SetFocus
Text2.Text = ""
End If
......
End If
qingming81 2004-01-18
  • 打赏
  • 举报
回复
连接字 符串是错误的
'连接字符串
ConString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=library;Data Source=."

“Data Source=”后面应该指明连接的数据库路径。

判断语句改为

If (SQLview.BOF and SQLview.EOF) Then
MsgBox "用户名与密码不符,请重新输入!", vbOKOnly + vbExclamation, "警告"
Text_pass = ""
Text_pass.SetFocus
Else
Me.Hide
frm_main.Show
End If


'admintype = SQLview.Fields(2) 如果登录成功这里也会报错,我是在模块中定 义的全局变量.定义语句为 Public admintype As String
请用msgbox SQLview.fields(0)、msgbox SQLview.fields(1)、msgbox SQLview.fields(2)逐个看看,可能根本不存在SQLview.fields(2)
dtysam 2004-01-18
  • 打赏
  • 举报
回复
不行都不行,还是一样的结果.是不是数据库出错了哦?
yaya8168 2004-01-18
  • 打赏
  • 举报
回复
各位高手帮我也看看我遇到的问题与他有些相似,无论我输入什么密码都会登录下面是源码
Private Sub CmdEnter_Click()
Dim UserName As String
Dim UserPass As String
Dim SQLview As New Recordset
Dim SQL As String
Dim msgstring As String
If (Com_user_name.Text = " " Or Com_user_name.Text = "(请选择)") Then
MsgBox "请选择用户名!", vbOKOnly + vbExclamation, "警告"
Com_user_name.SetFocus
Else
If Text_pass = " " Then
MsgBox "请输入密码!", vbOKOnly + vbExclamation, "警告"
Text_pass.SetFocus
End If

End If
UserName = Trim(Com_user_name.Text)
UserPass = Trim(Text_pass.Text)
SQL = "select * from admininfo where admin_id= '& username &' and admin_password='& userpass &'"
Set SQLview = ExecuteSql(SQL, msgstring)
If (SQLview.EOF = False) Then
MsgBox "用户名与密码不符,请重新输入!", vbOKOnly + vbExclamation, "警告"
Text_pass = ""
Text_pass.SetFocus
Else
'admintype = SQLview.Fields(2) 如果登录成功这里也会报错,我是在模块中定 义的全局变量.定义语句为 Public admintype As String
Me.Hide
frm_main.Show
End If
End Sub

Public Function ExecuteSql(ByVal StrSql As String, msgstring As String) As Recordset
'声明一个连接
Dim ConnectStr As New ADODB.Connection
'声明一个记录集对象
Dim RecordStr As New ADODB.Recordset
Dim ConString As String
'连接字符串
ConString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=library;Data Source=."
ConnectStr.ConnectionTimeout = 10
ConnectStr.CursorLocation = adUseClient
'打开一个连接
ConnectStr.Open ConString
'执行查询语句
ConnectStr.Execute StrSql
RecordStr.Open Trim$(StrSql), ConnectStr, adOpenKeyset, adLockBatchOptimistic
'返回记录集对象
Set ExecuteSql = RecordStr
msgstring = "查询到" & RecordStr.RecordCount & "条记录"
executesql_exit:
Set RecordStr = Nothing
Set ConnectStr = Nothing
End Function

online 2004-01-17
  • 打赏
  • 举报
回复
把rs.Close放在最后
否则第一次回报错

还有下面这句少个end if
if text2.text<>rs!U_Password then
msgbox "密码错误"
else
MsgBox "登陆成功"
Form2.Show
Unload Me
end if
online 2004-01-17
  • 打赏
  • 举报
回复
加trim试试
if trim(text2.text)<>rs.fields("U_Password") then
liufeng7600 2004-01-17
  • 打赏
  • 举报
回复
If Not (rs.EOF And rs.BOF) Then
这句改成
If Not rs.EOF Then


text2.text<>rs!U_Password
改成
trim(text2.text)<>rs!U_Password
在试试


即:
If Not rs.EOF Then
if trim(text2.text)<>rs!U_Password then
msgbox "密码错误"
else
MsgBox "登陆成功"
Form2.Show
Unload Me
Endif
Else
MsgBox "没有该用户"
End If
liaorui 2004-01-17
  • 打赏
  • 举报
回复
设置断点一调试不就知道了吗。。
kmzs 2004-01-17
  • 打赏
  • 举报
回复
生成exe试试看
nicolas1999king 2004-01-17
  • 打赏
  • 举报
回复
直接把密码拷过来试试?
davidlv 2004-01-17
  • 打赏
  • 举报
回复
大小写呢
hhjjhjhj 2004-01-17
  • 打赏
  • 举报
回复
If Not (rs.EOF And rs.BOF) Then
改成
If rs.recordcount>0 Then
jone999 2004-01-17
  • 打赏
  • 举报
回复
设置断点看看这句if text2.text<>rs!U_Password then
中的rs!U_Password是什么东东??
关于 阿里云盘CLI。仿 Linux shell 文件处理命令的阿里云盘命令行客户端,支持JavaScript插件,支持同步备份功能,支持相册批量下载。 特色 多平台支持, 支持 Windows, macOS, linux(x86/x64/arm), android, iOS 等 阿里云盘多用户支持 支持备份盘,资源库无缝切换 下载网盘内文件, 支持多个文件或目录下载, 支持断点续传和单文件并行下载。支持软链接(符号链接)文件。 上传本地文件, 支持多个文件或目录上传,支持排除指定文件夹/文件(正则表达式)功能。支持软链接(符号链接)文件。 同步备份功能支持备份本地文件到云盘,备份云盘文件到本地,双向同步备份保持本地文件和网盘文件同步。常用于嵌入式或者NAS等设备,支持docker镜像部署。 命令和文件路径输入支持Tab键自动补全,路径支持通配符匹配模式 支持JavaScript插件,你可以按照自己的需要定制上传/下载中关键步骤的行为,最大程度满足自己的个性化需求 支持共享相册的相关操作,支持批量下载相册所有普通照片、实况照片文件到本地 支持多用户联合下载功能,对下载速度有极致追求的用户可以尝试使用该选项。详情请查看文档多用户联合下载 如果大家有打算开通阿里云盘VIP员,可以使用阿里云盘APP扫描下面的优惠推荐码进行开通。 注意:您需要开通【三方应用权益包】,这样使用本程序下载才能加速,否则下载无法提速。 Windows不第二步打开aliyunpan命令行程序,任何云盘命令都有类似如下日志输出 如何登出和下线客户端 阿里云盘单账户最多只允许同时登录 10 台设备 当出现这个提示:你账号已超出最大登录设备数量,请先下线一台设备,然后重启本应用,才可以继续使用 说明你的账号登录客户端已经超过数量,你需要先登出其他客户端才能继续使用,如下所示

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧