Sql server SQL Server 2000抱怨比较TEXT/NTEXT列,但列是VARCHAR

Sql server SQL Server 2000抱怨比较TEXT/NTEXT列,但列是VARCHAR,sql-server,Sql Server,我有一个SQL Server 2000数据库,其表如下所示: ModifyTime datetime CompanyID smallint ProductID smallint ComponentID int Disposition varchar(10) Note text NoteType varchar(256) 此查询失败: UPDATE NoteTable SET Disposition = 'Modified' WHERE Disposition = '' AND Com

我有一个SQL Server 2000数据库,其表如下所示:

ModifyTime datetime
CompanyID smallint
ProductID smallint
ComponentID int
Disposition varchar(10)
Note text
NoteType varchar(256)
此查询失败:

UPDATE NoteTable
SET Disposition = 'Modified'
WHERE Disposition = '' 
    AND CompanyID = 10
    AND ProductID = 13
    AND ComponentID = 1
    AND NoteType = 'Customer'
错误是:

文本、ntext和图像数据类型不能进行比较或排序,除非使用IS NULL或LIKE运算符

有一个
TEXT
列,但它根本不参与查询。这两个类似文本的字段都是
VARCHAR

我定期在
NoteType
字段中加入
s,并按
Disposition
排序,但没有出现此错误


有什么线索吗?

正如经常发生的那样,在这里简化问题时,我考虑了问题的实际原因

实际上,更新发生在ASP应用程序中,我在这里表示为“Customer”的值作为参数传递给准备好的语句。在创建参数时,我使用了长度为256的adLongVarChar,而不是长度为256的adVarChar。所以,实际上是这个常量,我在比较VARCHAR(256)NoteType列时遇到了问题。当我将参数类型固定到prepared语句时,问题就消失了


很抱歉打扰您,谢谢您的帮助。:-)

您确定列数据类型吗?如果您更改NoteType如“Customer”,会发生什么?表上是否有触发器?当您在Query Analyzer/Management Studio中运行此更新时,是否可以发布整个错误消息,包括
Msg xxx,
等部分?