您的位置:首页 > 其它

数据类型 ntext 和 varchar 在 equal to 运算符中不兼容的问题

2010-12-09 22:38 393 查看
test字段为ntext类型
SQL语句:select * from A where test=’xxx’
执行之后会出现:
数据类型 ntext 和 varchar 在 equal to 运算符中不兼容的错误信息。

是不是值也是ntext类型就行了呢?
那把SQL语句该成:select * from A where test=convert(ntext,’xxx’)
结果出现:数据类型 ntext 和 ntext 在 equal to 运算符中不兼容的错误信息。

解决这个问题有2种办法:
1.直接改数据库字段类型。。。。(不治本)
2.用cast或convert把SQL语句修改为:
select * from A where convert(nvarchar(255),test)=’xxx’

因为不管是text还是nvarchar,实体类中的影射都应该是string,因为C#只有一个string是用来表示字符串的,不过这两个数据类型在数据库中是完全不同的,所以无法在他们之间进行比较操作,尤其那个ntext,很多操作都不能做,就算是两个ntext类型,也没有办法进行比较操作。


来自:http://hi.baidu.com/281305450/blog/item/b93b77ce84c10a35b600c895.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐