2016-06-09 4 views
0

Ich möchte die Folowing Antrag tun:Wie man eine Anfrage SELECT auf einem Oracle DB mit Parametern? C#

SELECT nom_projet, version_projet, version_build FROM analyses WHERE nom_projet=:Variable1 and version_projet=:Variable2 and version_build=:Variable3"; 

Ich verstehe nicht, warum es nicht funktioniert, weil ich den gleichen Code für eine Anforderung INSERT und diese funktioniert perfekt gemacht haben.

-Code C#

public Boolean VerifierVersionDejaPresnte(ParseurXML.DonneesGblobale donneGlobale) 
{ 
OracleCommand cmd = new OracleCommand(); 
cmd = new OracleCommand(); 
cmd.Connection = conn; 
cmd.CommandText = "SELECT nom_projet, version_projet, version_build FROM analyses WHERE nom_projet=:Variable1 and version_projet=:Variable2 and version_build=:Variable3" 
cmd.CommandType = CommandType.Text; 
cmd.Parameters.Add(new OracleParameter("Variable1",donneGblobale._nom)); 
cmd.Parameters.Add(new OracleParameter("Variable2",donneGblobale._version)); 
cmd.Parameters.Add(new OracleParameter("Variable3",donneGblobale._build)); 

OracleDataReader reader = cmd.ExecuteNonQuery(); 
if(reader.HasRows) 
    return true; 
return false; 
} 
+1

Ich nehme an, dass der fehlende Doppelpunkt bei 'version_build = Variable3' nur ein Tippfehler ist? –

+0

Ja sorry, ich modifiziere es –

Antwort

2

Sie rufen ExecuteNonQuery, während Sie ExecuteReader nennen sollte.

ExecuteNonQuery wird für Insert,Update and Delete Befehle verwendet.

OracleDataReader reader = cmd.ExecuteReader(); 
+0

, wenn das Programm versucht, cmd.ExecuteReader() auszuführen Ich habe eine Ausnahme, haben Sie irgendwelche Ideen? –

+0

Was ist eine Ausnahme? – Mairaj

+0

leider bin ich nicht sicher, dass diese Ausnahme uns viel helfen wird: externe Komponente hat eine Ausnahme ausgelöst –

Verwandte Themen