Vous devez ouvrir la connexion et vous devez également utiliser les paramètres sql. J'espère que c'est la bonne syntaxe oracle car je ne peux pas la tester :
using(var con = new OracleConnection("ConnectionString Here"))
using(var cmd = new OracleCommand("ADD YOUR INSERT/UPDATE/DELETE", con))
{
con.Open();
cmd.ExecuteNonQuery();
using (var cm = new OracleCommand("select round(avg(rating),1)As AvgRating from rates where id_rec = @id", con))
{
cm.Parameters.AddWithValue("@id", id);
using (var reader = cm.ExecuteReader())
{
if (reader.Read())
{
textBox5.Text = reader.GetInt16(0).ToString();
}
}
}
}
Notez que j'ai utilisé le using
- déclaration pour s'assurer que toutes les ressources non gérées sont éliminées dès que possible. Il ferme également les connexions (même en cas d'erreur).
Modifier :Puisque vous ne sélectionnez qu'une seule valeur, je suggère d'utiliser ExecuteScalar
:
using (var cm = new OracleCommand("select round(avg(rating),1)As AvgRating from rates where id_rec = @id", con))
{
cm.Parameters.AddWithValue("@id", id);
object avgRating = cm.ExecuteScalar();
if (!(avgRating is DBNull))
{
textBox5.Text = avgRating.ToString();
}
}