咳嗽哥 2015-11-20 01:39 采纳率: 0%
浏览 494

c# ora oracle sql 查询

SELECT * from V_DEPXIAOSGONG where CITYNAME like '%北京%'
在 navicat 里面查询有个4条数据

string sumData = "SELECT * from V_DEPXIAOSGONG where CITYNAME like '%北京%'";

OracleCommand cmd = new OracleCommand();
PrepareCommand(cmd, connection, null, sumData, cmdParms);
using (OracleDataAdapter da = new OracleDataAdapter(cmd))
{
DataSet ds = new DataSet();
try
{
da.Fill(ds, "ds");
cmd.Parameters.Clear();
}
catch (OracleException ex)
{
throw new Exception(ex.Message);
}
return ds;
}

是不是字符集有问题

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-04 20:03
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    是的,你的SQL查询在Navicat中可能会遇到问题。Oracle数据库使用的是UTF-8字符集,而Navicat默认使用的可能是GBK或者GB2312等其他字符集。

    为了解决这个问题,你可以尝试以下几种方法:

    1. 将你的SQL查询修改为使用正确的字符集:
    SELECT * FROM V_DEPXIAOSGONG WHERE CITYNAME LIKE '%北京%'
    
    1. 如果你已经确定了正确的字符集,请确保Navicat也使用相同的字符集。

    2. 如果你正在使用Oracle SQL Developer或Visual Studio Database Tools(VSDT),它们会自动检测并使用正确的字符集。如果你正在使用其他工具,你需要手动检查和设置字符集。

    3. 如果你是在使用ODBC驱动程序连接到Oracle数据库,确保你在应用程序配置中选择了正确的字符集。

    4. 另一种可能的原因是你在连接时设置了不正确的字符集。确保你正确地指定了字符集,例如ConnectionString="DataSource=myServer;User Id=myUsername;Password=myPassword;DatabaseName=myDB;CharSet=UTF8"

    5. 最后,如果以上所有方法都无效,那么你可能需要联系数据库管理员来解决这个问题。他们可以检查数据库的字符集,并提供一个正确的解决方案。

    评论

报告相同问题?