Erreur avec OracleDataReader. Erreur: opération non Valide. La connexion est fermée
Lorsque j'essaie d'attribuer le lecteur C# déclenche une exception:
Invalid operation. The connection is closed
J'essaie d'obtenir un résultat à partir d'une requête qui renvoie une seule cellule avec une valeur moyenne à l'intérieur.
cmd est un oraclecomand que j'utilise pour insérer une ligne dans une table et c'est très bien. Je vois la boîte de message suivante et après que l'exception s'affiche.
try
{
cmd.ExecuteNonQuery();
MessageBox.Show("Recipe Rated");
OracleCommand cm = new OracleCommand("select round(avg(rating),1) from rates where id_rec = "+id);
OracleDataReader reader = cm.ExecuteReader();
reader.Read();
textBox5.Text =""+reader.GetInt16(0);
}
Vous devez vous connecter pour publier un commentaire.
Lorsque vous utilisez `OracleCommand', vous devez associer un valide OracleConnection objet.
Espérons que cette aide.
Grâce.
Vous devez ouvrir la connexion et vous devez également utiliser sql-paramètres. J'espère que c'est la bonne oracle syntaxe parce que je ne peux pas le tester:
Noter que j'ai utilisé le
using
-déclaration pour s'assurer que toutes les ressources non managées sont éliminés dès que possible. Il ferme également les connexions (même par erreur).Modifier: Depuis que vous êtes de ne sélectionner qu'une seule valeur, je suggère l'utilisation de
ExecuteScalar
: