SQL SERVER 2000 有字段为空 查询报错解决方案-图文

时间: 2010-12-20 / 分类: Database / 浏览次数: 605 views / 0个评论 发表评论

前几天碰到一个非常奇怪的问题。就是明明在数据库中能够查出该条记录,但是,在程序中就是要报空指针异样,也就是查出来的List 为空。起初怀疑是SQL写错了,在后台打印出来后,然后到企业管理器去查,OK,有数据……,头晕中!

后来发现一个规律,就是出现这个情况的,里面必然有字段为null。那这是什么道理呢?有字段为null 能影响啥呢?

那我就测试一下啊,把所有的字段为空的都给他写上空格。经测试:是的,正常了。

看来绝对是这个和null值有关,但是感觉有不对,因为以前还是查过很多有null值得,也没有出现问题啊?

眉头紧锁的……,是什么导致错误发生的呢?

细细对比了报错的null字段和不报错的null字段。终于找到了原因。

image

看图:当红色框为字段为null 时不会出错,当蓝色框字段为null时就报错。

这明显和字段类型有关系!

结论:在sql server2000 中,当字段类型为text,且值为为null时,查询将出先异常。

后来用sql server 2005 测试了下,没有出现以上问题。以此推断,此应该是sql server 2000 的一个bug。

临时解决方案:如图

image

在数据库中为该类型字段设置默认值,当暂时我数据时,以空格代替。

此问题weidays作为记录,发表在weidays图文。如果你也遇到了此问题,希望能帮上你,转载请注明出处。谢谢

发表评论

您的昵称 *

您的邮箱 *

您的网站