数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
SQL SERVER不认全角和半角

作者:未知 来源:月光软件站 加入时间:2005-6-5 月光软件站

 不管是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 //////////////////////////////////////////////////////////




相关文章

相关软件