编写一个餐饮业有关的程序,在插入菜名时开始很顺利,但突然出现提示:“将截断字符串或二进制数据。语句已终止……", 下意识想到是数据库的字段长度设置不足的原因。于是把这个菜名的字删掉几个,再次插入,果然顺利。
那还不简单?肯定是菜名那个字段长度设置小了啊!于是马上去修改长度,但是试了多次,总是不成功,好像与修改长度无关,最后把长度设到nvarchar(50),仍然失败!百思不得其解。
一个上午就被这个困惑着,烦恼着。最后把问题提交到群中去讨论,虽然都没有指出问题在何。但是一个网友提出输出SQL语句的执行命令,然后到SQL中直接执行试试看。就这么办吧!于是把sql执行语句输出到Lable。一看,不禁笑了起来:原来是另一个字段长度非常长(超过50),是一个与路径有关的图片文件字段。那为什么把菜名删掉几个字居然可以呢?
那是因为那个字段的图片文件名和菜名是同一个名,菜名长度当然也就影响到了那个字段的长度。本来这也是低级错误,只是当初困惑时发誓说:等问题解决了一定写出来纪念一下。