首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OleDbCommand和Unicode字符

OleDbCommand和Unicode字符
EN

Stack Overflow用户
提问于 2013-04-24 18:05:12
回答 1查看 988关注 0票数 0

我有一个使用OleDbCommand运行大量查询的应用程序。每个查询都是纯SQL文本,并且命令不使用参数。

现在,应用程序应该支持中文字符,我不想通过在指定字符串前添加N字符来更改每个查询。

我正在尝试做这样的事情,但它不起作用:

代码语言:javascript
复制
        OleDbCommand command = new OleDbCommand("?", connect);
        command.CommandType = CommandType.Text;
        command.Parameters.AddWithValue("query", qry);
        OleDbDataAdapter da = new OleDbDataAdapter(command);

其中qry是在每个字符串前面没有N字符的情况下执行的查询。

我真的不想改变每一个查询,那会是一团乱。

你对我有什么解决方案吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-24 19:59:03

您需要设置参数的数据类型,可以使用Add重载之一,也可以使用new创建参数,设置属性,然后将其添加到集合中。

下面是OleDb数据类型:

http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbtype.aspx

VarWChar是unicode

如果您使用的是SqlServer,那么您可能希望使用本机驱动程序,这样就可以获得具有更精确匹配的Sql数据类型。

如果您要实现跨数据库兼容性,那么您可能会选择相反的方向,使用System.Data.Common数据类型、DbType.XXX、引用http://msdn.microsoft.com/en-us/library/system.data.dbtype.aspx (或ODBC及其类型枚举,因为微软表示他们正在逐步淘汰OleDb作为一种技术,转而使用ODBC)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16189144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档