Web ortamında Veritabanındaki verilerin ortalamasını alma

Kodla Büyü

komodor64

Seçkin Üye
Seçkin Üye
Mesajlar
336
Girilecek olan 30 kişiye ait 3 adet not bilgisini veritabanına kaydederek 30 kişinin ortalamasını tek tek yine tabloda bulunan ortalama sütununa kaydetmek istiyorum. Nasıl bir yol izlemem gerekiyor acaba?
 
notlar tablosu notid,ogrenci_id,not1,not2,not3, ortalama tablosu ortalama_id,ogrenci_id,ortalama şeklinde olabilir daha sonra buton içine
Kod:
 OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; DATA Source=" + Server.MapPath("App_Data/haber.accdb"));
            baglanti.Open();
            //www.aspnetornekleri.com
            OleDbCommand db_komut = new OleDbCommand("Select * from notlar", baglanti);
            OleDbDataReader alinan_veri;
            alinan_veri = db_komut.ExecuteReader();
            double ortalama = 0;
            if (alinan_veri.HasRows)
            {
                while (alinan_veri.Read())
                {
                    ortalama = (Int16.Parse(alinan_veri["not1"].ToString()) + Int16.Parse(alinan_veri["not2"].ToString()) + Int16.Parse(alinan_veri["not3"].ToString())) / 3;
                    OleDbCommand ekle = new OleDbCommand("Insert INTO ortalama ( ogrenci_id, ortalama ) Values( '" + alinan_veri["ogrenci_id"].ToString() + "'," + ortalama + ")", baglanti);
                    ekle.ExecuteNonQuery();
                }
            }
            baglanti.Close();
yazarsanız olabilir
 
Yukarıdaki kodlarla işlemi yapmaya çalıştığımda Bu komut ile ilişkili, öncelikle kapatılması gereken açık bir DataReader zaten var. hatası alıyorum.
 
komodor64' Alıntı:
Yukarıdaki kodlarla işlemi yapmaya çalıştığımda Bu komut ile ilişkili, öncelikle kapatılması gereken açık bir DataReader zaten var. hatası alıyorum.
şimdi denedim sorunsuz çalışıyor hocam :shock:
 
Geri
Üst