日期:2014-05-17  浏览次数:20531 次

注册时候怎么区分大小写
asp.net vs2008

注册时候怎么区分大小写,我现在的网站是在注册的时候填写大写字母,用小写字母也可以登录,怎么修改代码,在登录后台修改,还是在注册页面修改?

------解决方案--------------------
后台修改

另外数据表中我原来是存一个原始的,另一个字段存小写的(在这个字段上建立索引),然后将用户输入的转成小写,这样查询会快一些。

或者,你也可以创建函数索引。

如果用 MySQL 的话,varchar 格式就不是不区分大小写的
------解决方案--------------------
跟数据库有关。有的数据库区分大小写如oracle,有的不区分你不需要做任何特别处理比如sqlserver.
------解决方案--------------------
这就的看你怎么验证的用户名了。

单步跟踪下很容易fix的。
------解决方案--------------------
不需要区分大小写,查询统一用小写,显示就按用户的输入。
------解决方案--------------------
通过改变查询的排序规则
SQL code
CREATE TABLE #(A nvarchar(200))
INSERT INTO # VALUES('AAbb')
SELECT * FROM # WHERE A='aabb'--有结果
SELECT * FROM # WHERE A='aabb' COLLATE Chinese_PRC_CS_AS --无结果  CS表示区分大小写

------解决方案--------------------
具体的可以搜索"SQL排序规则"
------解决方案--------------------
SELECT * 
FROM V_D_Product 
WHERE 字段名='W0800MA-1pY-C3Z1' collate Chinese_PRC_CS_AI_WS
------解决方案--------------------
ToLower() 这登录或者注册的时候 存储用户名的时候 在后面跟上这个方法就可以了 

不管你是大写还是小写 全部转换为小写
------解决方案--------------------
探讨
ToLower() 这登录或者注册的时候 存储用户名的时候 在后面跟上这个方法就可以了

不管你是大写还是小写 全部转换为小写

------解决方案--------------------
探讨

还是 不行啊
,必须限制大小写分开

------解决方案--------------------
如果抛弃数据库不考虑的话 可以加密 就可以实现区分大小写
------解决方案--------------------
探讨
通过改变查询的排序规则

SQL code

CREATE TABLE #(A nvarchar(200))
INSERT INTO # VALUES('AAbb')
SELECT * FROM # WHERE A='aabb'--有结果
SELECT * FROM # WHERE A='aabb' COLLATE Chinese_PRC_CS_AS --无结果 CS表示区分大小写……

------解决方案--------------------
Chinese_PRC_CS_AI_WS 
前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则,按拼音排序。
Chinese_PRC_Stroke 表示按汉字笔画排序;
排序规则的后半部份即后缀 含义: 
  _BIN 二进制排序 
  _CI(CS) 是否区分大小写,CI不区分,CS区分(case-insensitive/case-sensitive)
  _AI(AS) 是否区分重音,AI不区分,AS区分(accent-insensitive/accent-sensitive)
  _KI(KS) 是否区分假名类型,KI不区分,KS区分(kanatype-insensitive/kanatype-sensitive)
  _WI(WS) 是否区分宽度 WI不区分,WS区分(width-insensitive/width-sensitive)