最近在开发一个文件管理系统的时候,遇到一个问题:本来偶在本地的数据库是SQL2008,有一个字段SharedUserId 是nvarchar(max)类型,偶在查询SQL语句中用了...AND SharedUserId <> '', 可以正常执行。后来把程序发布到买的空间服务器上,服务器上是SQL2000的数据库,因为SQL2000没有nvarchar(max)类型,所以偶改成了text类型,结果在执行同样的SQL语句时程序就报错了:

---------------------------
Microsoft Internet Explorer
---------------------------
不能比较或排序 text、ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符。(System.Exception)
---------------------------
OK  
---------------------------

于是,偶把本地的数据库字段类型也改成text,再测试,也报类似错误(偶的SQL2008是英文版的):

---------------------------
Microsoft Internet Explorer
---------------------------
The data types text and varchar are incompatible in the not equal to operator.(System.Exception)
---------------------------
OK  
---------------------------

后来在网上搜索了一下,原来的查询语句稍微修改下,就可以了:...AND SharedUserId <> ''换成...AND DATALENGTH(SharedUserId) > 0 AND SharedUserId IS NOT NULL

相关文章:

  • 2021-11-25
  • 2021-08-06
  • 2021-06-13
  • 2021-10-20
  • 2021-10-09
  • 2022-12-23
  • 2022-01-23
猜你喜欢
  • 2022-12-23
  • 2021-07-16
  • 2021-09-13
  • 2021-08-28
  • 2021-10-05
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案