连接ORACLE查询数据库中文问题
以下是执行查询的代码,如果传输过去的查询条件是英文字母字符串就正常,如果是中文就查询不出结果,在查询分析器内用中文查询正常;请大侠帮忙分析下原因,是C#内要设置中文兼容还是哪里编码不对;
public DataTable ExecuteQuery(string sqlString)
{
using (System.Data.IDbConnection iConn = this.GetConnection())
{
//System.Data.IDbCommand iCmd = GetCommand(sqlString,iConn);
DataSet ds = new DataSet();
try
{
System.Data.IDataAdapter iAdapter = this.GetAdapater(sqlString,iConn);
iAdapter.Fill(ds);
}
catch(System.Exception e)
{
throw new Exception(e.Message);
}
finally
{
if(iConn.State != ConnectionState.Closed)
{
iConn.Close();
}
}
return ds.Tables[0];
}
}
oracle
中文
分享到:
------解决方案--------------------
调试下呗..
------解决方案--------------------
引用:调试跟踪的结果就是没有数据返回,所有信息都是对的;不知道是不是哪里编码设置的问题;
那是 地区="" 还是 loction="地区" 是哪种形式呢? 如果是第二种 location=N"地区" 试试
------解决方案--------------------
你贴这点代码,鬼看的出来哪里错了,把SQL语句贴出来看看
------解决方案--------------------
http://www.21shipin.com/html/98672.shtml
你看看这个连接的方法
引用:谢谢云飞兄;
是以下的形式:
1、Select * From table1 Where col1 = 'abc'
2、Select * From table1 Where col1 = '中国'
这两条语句在查询分析器查询都有结果出来,但在C#内执行只有第1条有结果,第2条就没有结果;
刚试了col1=N"地区"的方式,也不行;
------解决方案--------------------
你所说的查询分析器是否是PL/SQL?Oracle一般都用它的,这个工具自带SQL跟踪监视,你跟踪下当前会话中,找到刚才执行的那条SQL语句,看实际在数据库里面是什么SQL语句。