Foxtable(狐表)用户栏目专家坐堂 → 数据类型 ntext 和 varchar 在 equal to 运算符中不兼容


  共有3821人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
数据类型 ntext 和 varchar 在 equal to 运算符中不兼容  发帖心情 Post By:2022/11/6 10:11:00 [只看该作者]

System.Data.OleDb.OleDbException (0x80040E14): 数据类型 ntext 和 varchar 在 equal to 运算符中不兼容。
   在 System.Data.OleDb.OleDbDataReader.ProcessResults(OleDbHResult hr)
   在 System.Data.OleDb.OleDbDataReader.NextResult()
   在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   在 System.Data.OleDb.OleDbCommand.ExecuteScalar()
   在 Foxtable.SQLCo mm and.ExecuteScalar()

提供单位或个人  nvarchar(MAX) 是个多值字段  有类似A,B,C,D的值

 

当前代码如下:


图片点击可在新窗口打开查看此主题相关图片如下:21.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1106求助代码.txt

[此贴子已经被作者于2022/11/6 10:36:19编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/6 20:27:00 [只看该作者]

到后台数据库把备注列列类型从ntext改为nvarchar(MAX)类型

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)到后台数据库把备注列列类型从ntext改...  发帖心情 Post By:2022/11/6 21:17:00 [只看该作者]

后台  提供证据单位或个人   列  就是nvarchar(MAX)  之前是ntext然后改成了nvarchar(MAX)  还是会提示一楼错误……

且这个列 如果只有一个值的时候  又没有问题   就是在A,B……之类的值 

就会提示错误

 

sele ct * from {调取证据通知书} where 登记编号='" & bh & "' and cast(提供单位或个人 as varchar(max))='" & s & "' and 被调取证据人 ='"& bdqzjr &"' and 证据材料内容='"& zjclnr &"'"

这样写法 也不行 错误提示一样

[此贴子已经被作者于2022/11/6 21:26:05编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106023 积分:539208 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/6 21:30:00 [只看该作者]

如果列类型已经是nvarchar(MAX)没有必要在使用cast转换,如果不是请直接改列类型,而不是在SQL里转换。如果不是这个列的问题,请检查其它列。如果其它列都没有问题,去检查是不是连接的其它数据库

 回到顶部