获取ADODB以解析where子句中的unicode,前缀为N.

时间:2014-04-13 20:06:22

标签: sql vb.net adodb

我正在更新我们的一个旧应用程序以支持unicode。它充斥着针对 ADODB库的文字SQL查询(SELECT * FROM ...)。大部分工作正常,直到我找到SEEK代码。我们有一些方法可以将用户数据转换为where子句。所以它解析字典并生成一个字符串。如果用户正在寻找带有unicode数据的东西,我需要用N附加语句。但是,当我将其添加到文本并通过recordset.open传递命令时, ADODB 会抛出异常:

  

无法解析SQL

现有SQL输出:

SELECT * FROM ACCOUNT WHERE NAME ='ӐӕӔҔҖӸӽӳ'

这会通过记录集,但无法检索任何数据。

我需要什么,但却抛出异常:

SELECT * FROM ACCOUNT WHERE NAME = N'ӐӕӔҔҖӸӽӳ'

我需要对记录集做一些特殊的魔术以允许N通过吗?或者,我需要采取另一种方法来实现这一目标吗? (是的,我知道我们应该参数化查询,这是长期修复,但这是意大利面条代码)。

0 个答案:

没有答案