sql >> Databáze >  >> RDS >> Oracle

Chyba v aplikaci OracleDataReader. Chyba:Neplatná operace. Spojení je uzavřeno

Měli byste otevřít připojení a měli byste také použít sql-parametry. Doufejme, že toto je správná syntaxe orákula, protože to nemohu otestovat:

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

Všimněte si, že jsem použil using - prohlášení, které zajistí, že všechny nespravované zdroje budou co nejdříve zlikvidovány. Také uzavře připojení (i při chybě).

Upravit :Protože vybíráte pouze jednu hodnotu, doporučuji použít 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();
    }
}


  1. dotaz oracle Zřetězit všechny sloupce pomocí ','

  2. SQL Server 2016 v systému Linux

  3. jak se dotazovat na moji databázi a nechat ji vytisknout na Google Sheet, aby někdo mohl tato data upravit a poté je promítnout zpět do MySQL?

  4. Chyba ActiveRecord:SAVEPOINT active_record_1 neexistuje