sql >> データベース >  >> RDS >> Oracle

OracleDataReaderでエラーが発生しました。エラー:無効な操作。接続が閉じられます

    接続を開き、sql-parametersも使用する必要があります。テストできないので、これが正しいOracle構文であるといいのですが。

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

    usingを使用したことに注意してください -管理されていないすべてのリソースができるだけ早く廃棄されるようにするためのステートメント。また、接続を閉じます(エラーが発生した場合でも)。

    編集 :選択している値は1つだけなので、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. python3用のflask-mysqlをインストールするにはどうすればよいですか?

    2. plsql-連想配列をJavaに戻す方法

    3. ユーザーの双方向性はありませんそれでもSQLインジェクションを取得できますか

    4. MySQLのコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?