SQL SERVER不认全角和半角

 不管是c/s还是b/s的开发模式,随着window操作系统的不断深入人心,其日渐强大的数据库SQL SERVER也逐渐被大家所认可。 在一次偶然的错误处理中,发现居然全角字符和半角字符都能通过SQL SERVER的条件判断。 例如: select * from t_xtgl_user where user_code = 'lyy'   (半角) select * from t_xtgl_user where user_code = 'lyy' (全角) 上面两个话都能查到user_code为'LYY'的用户信息。 而全角字符记载入数据库后,对程序后面的字符判断和比较容易产生混乱,特别是与其它数据库交叉混用,造成意向不到的麻烦。 对于这种情况,我们可以采取两种方式: 1、禁止使用全角,当用户使用全角字符时,提示用户输入非法字符(全角),提示用户重新输入。 2、允许使用全角,当用户使用全角字符时,系统自动将其转化为半角字符。 当然第二种办法是最优的,提供用户最大的可操作性。 以下为PB代码,暂定用户录入有效字符为 0-9 a-z A-Z

  去除全角用户名 ///

li_len = len(gs_usercode) For i = 1 To li_len ls_letter = mid(gs_usercode, i,1) If ( ls_letter < '0' ) Or ( ls_letter > '9' And ls_letter < 'A' ) Or ( ls_letter > 'Z' ) Then // MessageBox('提示信息','用户名输入错误,请输入正确的半角英文字符!') // Return 1 i++ li_Asc = Asc(mid(gs_usercode, i,1)) ls_letter = char(li_Asc - 128) // -128 End If ls_UserCode += ls_letter Next gs_usercode = ls_UserCode //

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值