然而此时要进行一个sql语句的查询,条件是ntext字段与nvarchar字段进行比较,当然无法进行比较,于是报出了错误“数据类型 ntext 和 varchar 在 equal to 运算符中不兼容的错误信息”。该怎么解决呢?
1、直接改数据库字段类型(大多数情况不可行)。
2、用cast(ntext字段名 as nvarchar(50))进行转换后,再进行二者的比较。这里“ntext字段名”指的是该字段的名字,这样就可以对二者进行比较了。
还用一种就是转换后使用like进行匹配!
以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]ACCESS 转SQL数据库时 提示 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70582) |
-- 作者:blsu33 -- 发布时间:2015/6/24 17:22:00 -- [求助]ACCESS 转SQL数据库时 提示 老师, 数据库更改为SQL,发生提示 .NET Framework 版本:2.0.50727.3053 Foxtable 版本:2014.11.11.1 错误所在事件: 详细错误信息: 数据类型 ntext 和 varchar 在 equal to 运算符中不兼容。 这是哪里有问题呢
|
-- 作者:狐狸爸爸 -- 发布时间:2015/6/24 17:38:00 -- 将varchar改为nvarchar |
-- 作者:blsu33 -- 发布时间:2015/6/24 17:48:00 -- 狐爸, 在哪里能找到varchar ,导出的代码,没有找到。
|
-- 作者:狐狸爸爸 -- 发布时间:2015/6/24 17:49:00 -- 到SQL Server中改,将所有列类型为varchar的改为nvarchar |
-- 作者:狐狸爸爸 -- 发布时间:2015/6/24 17:55:00 -- 我可能搞错了:
还不行的话,可以将ntext改为nvarchar,或者不要在select语句中对ntext列进行比较。 |
-- 作者:blsu33 -- 发布时间:2015/6/24 18:24:00 -- 哦 解决了 谢谢狐爸 我用的是这个帖子 ntext和varchar在=运算符中不兼容(2011/7/11 17:35:09) [转载] 分类:DB ntext和nvarchar,这两个数据类型在数据库中是完全不同的,所以无法在他们之间进行比较操作,尤其那个ntext,很多操作都不能做,就算是两个ntext类型,也没有办法进行比较操作。 然而此时要进行一个sql语句的查询,条件是ntext字段与nvarchar字段进行比较,当然无法进行比较,于是报出了错误“数据类型 ntext 和 varchar 在 equal to 运算符中不兼容的错误信息”。该怎么解决呢? 1、直接改数据库字段类型(大多数情况不可行)。 2、用cast(ntext字段名 as nvarchar(50))进行转换后,再进行二者的比较。这里“ntext字段名”指的是该字段的名字,这样就可以对二者进行比较了。 还用一种就是转换后使用like进行匹配! |
-- 作者:blsu33 -- 发布时间:2015/8/4 17:46:00 -- 红袍老师, 2、用cast(ntext字段名 as nvarchar(50))进行转换是否可行?
|
-- 作者:blsu33 -- 发布时间:2015/8/4 17:53:00 -- 放在窗口中 提示 .NET Framework 版本:2.0.50727.3053 Foxtable 版本:2014.11.11.1 错误所在事件:窗口,窗口2,AfterLoad 详细错误信息: 表达式包含未定义的函数调用 cast()。 |
-- 作者:大红袍 -- 发布时间:2015/8/4 18:19:00 -- 你在写sql语句的时候才报错的吧?贴出你写的代码。
在sql语句里面写 case(备注列 as varchar(50)) 不会报错的 |
-- 作者:blsu33 -- 发布时间:2015/8/4 18:22:00 -- o 不是在SQL中 需要这么做吗 例如 窗口名称列 备注字段 是否需要用到 \'Dim ft As String= "([窗口名称] Like \'%,"& e.Form.Name &"\'or [窗口名称] Like \'"& e.Form.Name &",%\' or [窗口名称] Like \'%\\"& e.Form.Name &"\\%\' or cast([窗口名称] As nvarchar(50))=\'"& e.Form.Name &"\')"
|