今日同事说论坛后台编辑不了,我跟踪一下,发现程序并无异常报告。分析后认为是数据库错误,于是执行SQL语句排错。经测试,发现修改字段时,使用较长的字符串时报如下错误:
将截断字符串或二进制数据。
语句已终止。
记得以前也碰到过这样的错误,确实是数据库错误。从错误信息提示分析,容易让人以为是非法字符引起的,我初步也这么认为(呵呵,以前碰到这个错误的原因不记得了!),于是排除几个认为非法的字符(还好仅仅是几个字符,不然我也不会找到真正的原因了。),F5,错误信息依旧,于是看某个字段的长度,将测试字符串缩短后F5,执行成功!看来报这个错是输入的数据超过字段长度的缘故了。从错误提示信息分析,根据“截断”2字就容易让我以为是输入了非法字符,但经过这次测试,我觉得“截断”应该是某个东西过长,过大,而被截断一部分的意思,而不是我们理解的“过滤掉”这个意思。
我根据自己想法进行了几个测试。首先在输入数据末尾使用空格,以此是输入数据超过字段长度,F5,以为会报错,显示执行成功!换一种方式,将空格放输入数据中间,报错!难道SQl中有Trim?呵呵,哪位高人指点一二?