【问题标题】:Request sql on an Oracle server always empty. c#Oracle 服务器上的请求 sql 始终为空。 C#
【发布时间】:2016-10-10 01:28:38
【问题描述】:

当我在 Oracle SQL 开发人员上尝试相同的查询时:

select nom_projet from analyses where nom_projet='demonstration';

它有效,所以我非常不知道错误可能来自哪里...... 我认为这是由于我的请求格式导致的,但我没有看到错误。

C#代码

public Boolean VerifierVersionDejaPresnte(ParseurXML.DonneesGlobales donneGlobale)
    {
        string sql = "select nom_projet from analyses where nom_projet = :nom_projet" ;
        OracleCommand cmd = new OracleCommand(sql, conn);
        cmd.CommandType = CommandType.Text;
        OracleParameter p_nom_projet = new OracleParameter();
        p_nom_projet.OracleDbType = OracleDbType.Varchar2;
        p_nom_projet.Value = donneGlobale._nomProjet;
        cmd.Parameters.Add(p_nom_projet);

        OracleDataReader dr = cmd.ExecuteReader();
        if(dr.Read())
             Console.WriteLine(dr.GetString(0));
        return (true);

    }

提前感谢您的帮助

【问题讨论】:

    标签: c# sql oracle select reader


    【解决方案1】:

    最可能的原因是查询没有返回数据,所以dr.Read() 返回false。在尝试访问数据之前,您应该始终检查dr.Read() 的结果。

    if (dr.Read())
    {
        Console.WriteLine(dr.GetString(0));
    }
    

    当然,它并不能完全解决问题……现在你必须找出查询为什么什么都不返回。

    【讨论】:

      猜你喜欢
      • 2021-05-29
      • 2021-11-27
      • 2017-08-18
      • 2016-06-15
      • 2019-03-02
      • 2021-05-05
      • 2016-06-01
      • 1970-01-01
      • 2021-02-01
      相关资源
      最近更新 更多