晚上编写用户注册代码的时候发现了一个问题,“将截断字符串或二进制数据”的错误提示,刚开始不是很了解这个错误到底是怎么回事情,但是隐约还是感觉到是数据表中某些字段数据类型出了问题,后来查阅了一些相关资料才发现,原来是字段长度的问题. 也就是说用户提交的数据中某些字段数据的长度超过定义字段时候的规定值,也就是说用户输入的是错误的数据(即不符合我们规范的数据),但是这也给我们提供了一个问题,怎样引导用户正确地输入必要地数据,要解决这个问题有两种途径:
-
在浏览器端通过脚本语言(vbscript,javascript)来完成数据的检验,确保只有正确的数据能被提交到服务器端;
-
将数据不检验直接传到服务器端,出错时候将错误信息返回到浏览器端.
从上面两种方法可以看出,方法2对服务器要求更高,增加了服务器的负担,所以最好是采用方法1.
PS:(一些简单的知识)
-------------------------------------------
-
username=Trim(request.form("username")) 'Trim()作用是去掉空格
-
CommandText="select UserId from UserInfo where UserName='" &UserName & "'"
set rs=Conn.Execute (CommandText) '得到RecordsSet对象 -
CommandText="insert into UserInfo(UserName,UserKey) values('"&username&"','"&password&"')"
conn.execute CommandText,0,1 '执行SQL语句的一个方式