Access 数据库:Select语句中,字段内容竟然区分大小写,请问如何做到用户名不区分大小写,密码区分大小写呢?

skyarea 2006-08-09 10:36:54
原来的语句是这样的,对大小写敏感
strSql = "Select * From Member Where MemberNumber Like '" & UserName & "' And Password='" & Password & "')

改为这样也一样,还是对大小写敏感,请问如何做到用户名大小写都可以呢?
strSql = "Select * From Member Where UCase(MemberNumber) Like '" & UserName & "' And Password='" & Password & "'“
...全文
620 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
chithany 2006-08-10
  • 打赏
  • 举报
回复
不知道对不对

你可以保存用户名的时候用的是
统一大小写
或者大写,或者小写。
用户登陆验证的时候,就把所有的用户名全部改称大写或小写如‘
数据库存的是
用户名是:a88888
严正的时候 把A88888 变成a88888(程序中实现很简单的)
然后验证
skyarea 2006-08-10
  • 打赏
  • 举报
回复
LOWER 似乎 在Access无法使用,而用UCase 或 LCase又无效:)
net205 2006-08-10
  • 打赏
  • 举报
回复
刚才试了下,
试用字段类型:文本类型
结果:有大小字没有区别

strSql = "Select * From Member Where MemberNumber Like '" & UserName & "' And Password='" & Password & "')
----------------你这句没有大小的之分的,这儿的like是完全屁备,相当MemberNumber=Username

如果不用模糊屁配的话,上面有人提到也是正确的:
strSql = "Select * From Member Where UCase(MemberNumber) = '" & UCase(UserName) & "' And Password='" & Password & "'"

注:%在access是没用
用这个:MemberNumber Like '*abc*'
laochake 2006-08-10
  • 打赏
  • 举报
回复

“用户名是客户自己分配的,客户要求用户名不能全部小写或大写,他们说这样不好看”

加一个别名字段专门用来显示的不就可以了
chithany 2006-08-10
  • 打赏
  • 举报
回复
这不是矛盾吗
首先
A用户用About
B用户用abOut

但是你又想
他们都可以使用
about来登陆
????????
太怪了。

skyarea 2006-08-10
  • 打赏
  • 举报
回复
用户名是客户自己分配的,客户要求用户名不能全部小写或大写,他们说这样不好看
xzr2004 2006-08-10
  • 打赏
  • 举报
回复
LOWER 似乎 在Access无法使用:

sql="select 字段列表 from 表名 where "&LOWER(&"字段名"&)&" LIKE '%" & lower(关键字) & "%'"

这样不知可不可以,
skyarea 2006-08-09
  • 打赏
  • 举报
回复
用户名没经过MD5的处理呢
skyarea 2006-08-09
  • 打赏
  • 举报
回复
密码是经过MD5加密的,我现在是想“密码”区分大小写,用户名不区分
leohuang 2006-08-09
  • 打赏
  • 举报
回复
大小写字母经MD5加密之后的数据是不一样的
leohuang 2006-08-09
  • 打赏
  • 举报
回复
你的密码是不是MD5加密了?

肯定区分大小写啊
Mapleleaf123 2006-08-09
  • 打赏
  • 举报
回复
最好还是入库前就转换好了吧。。。
skyarea 2006-08-09
  • 打赏
  • 举报
回复
结果还是用 a88888 可以正常登录 用 A88888 就显示用户名错误
sy_binbin 2006-08-09
  • 打赏
  • 举报
回复
UCase好像是把小写的转换成大写的函数吧

你看看这篇文章对你有帮助吗??

http://www.wodr.cn/webcl/10241897/
skyarea 2006-08-09
  • 打赏
  • 举报
回复
谢谢!:)
这个我也试过了,但还是区分大小写。我把语句输出在页面上,显示如下:
Select * From Member Where UCase(MemberNumber) = 'A88888' And Password='965eb72c92a549dd'
MemberNumber = a88888
kencorn 2006-08-09
  • 打赏
  • 举报
回复
strSql = "Select * From Member Where UCase(MemberNumber) = '" & UCase(UserName) & "' And Password='" & Password & "'"
penglewen 2006-08-09
  • 打赏
  • 举报
回复
把数据库中的用户名和传过来的用户名都转换成大写或小写再去比较,

sql="select 字段列表 from 表名 where LOWER(字段名) LIKE '%" & lower(关键字) & "%'"

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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