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都是本地执行,数据是远程的.
请问有什么方法解决这个问题呢,谢谢 展开
我用程序查询时没有结果,但是用plsql 查就有结果,
我怀疑是字符集的问题,然后执行了一下这条语句语句:"select userenv('language') from dual"
我用程序读得出结果是: AMERICAN_AMERICA.ZHS16GBK
plsql 结果是: SIMPLIFIED CHINESE_CHINA.ZHS16GBK
我程序跟plsql都是本地执行,数据是远程的.
请问有什么方法解决这个问题呢,谢谢 展开
6个回答
展开全部
在连接字符串加一个Unicode=True;就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用格式项替换试试
string CommandText = string.Format(":“select * from define where cname like '%{0}%'", "公司");
string CommandText = string.Format(":“select * from define where cname like '%{0}%'", "公司");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-15
展开全部
这好像名字叫做SQL注入。你将单引号改成两个单引号,就是 '%公司%' 改为 ’'%公司%'‘ 试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
咋解决的,我也遇到这个问题了
字符集情况也和你完全一样
字符集情况也和你完全一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也跟楼主精等答案。
但是我建议楼主可以去试一下其他的查询。让like里面不带中文的。试一下。如果都可以查到。那就肯定是字符集的问题。。去吧去吧
但是我建议楼主可以去试一下其他的查询。让like里面不带中文的。试一下。如果都可以查到。那就肯定是字符集的问题。。去吧去吧
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询