C#链oracle 数据库查询时输入中文查询不出来,用plsql就可以,请问是什么问题

查询中文的语句:“select*fromdefinewherecnamelike'%公司%'”我用程序查询时没有结果,但是用plsql查就有结果,我怀疑是字符集的问题,然... 查询中文的语句:“select * from define where cname like '%公司%'”
我用程序查询时没有结果,但是用plsql 查就有结果,

我怀疑是字符集的问题,然后执行了一下这条语句语句:"select userenv('language') from dual"
我用程序读得出结果是: AMERICAN_AMERICA.ZHS16GBK
plsql 结果是: SIMPLIFIED CHINESE_CHINA.ZHS16GBK
我程序跟plsql都是本地执行,数据是远程的.

请问有什么方法解决这个问题呢,谢谢
展开
 我来答
幻影小玉
2016-04-28 · TA获得超过157个赞
知道答主
回答量:87
采纳率:100%
帮助的人:15.6万
展开全部
在连接字符串加一个Unicode=True;就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
方衍晴茶话会
2013-07-17 · TA获得超过157个赞
知道小有建树答主
回答量:152
采纳率:0%
帮助的人:123万
展开全部
用格式项替换试试
string CommandText = string.Format(":“select * from define where cname like '%{0}%'", "公司");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-15
展开全部
这好像名字叫做SQL注入。你将单引号改成两个单引号,就是 '%公司%' 改为 ’'%公司%'‘ 试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
树儿传说
2019-06-21 · TA获得超过1243个赞
知道小有建树答主
回答量:1507
采纳率:52%
帮助的人:204万
展开全部
咋解决的,我也遇到这个问题了
字符集情况也和你完全一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
犬夜叉樱桃
2013-07-25 · 超过27用户采纳过TA的回答
知道答主
回答量:116
采纳率:100%
帮助的人:66.6万
展开全部
我也跟楼主精等答案。
但是我建议楼主可以去试一下其他的查询。让like里面不带中文的。试一下。如果都可以查到。那就肯定是字符集的问题。。去吧去吧
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式