2016-06-09 22 views
0

當我試圖在Oracle SQL develloper相同的查詢:由於我的請求的格式在Oracle服務器上請求sql始終爲空。 C#

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); 

    } 

預先感謝您對您幫助

回答

1

最可能的原因是該查詢返回的數據,所以dr.Read()返回false。在嘗試訪問數據之前,您應該始終檢查dr.Read()的結果。

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

當然,它不能完全解決問題...現在你必須找到爲什麼查詢不返回任何內容。