Veritabanında Repeat Until Kullanımı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
d7new
Üye
Mesajlar: 20
Kayıt: 06 Eki 2014 10:55

Veritabanında Repeat Until Kullanımı

Mesaj gönderen d7new »

Veritabanında not hesaplaması yapmak istiyorum aslında yaptım da fakat döngü içine koyamıyorum.

Şöyle ki Veritabanında üç alan oluşturdum Vize, Final ve HarfNotu diye.
Vize ve Final notlarını veritabanından çekiyorum. Ortalamayı hesaplaptırıp ona göre harf notu belirtiyorum.
Fakat bunu tek tek yapmam gerekiyor. A öğrencisinin bir dersine tıklıyorum vize, final giriyorum hesapla deyince sadece o dersi hesaplıyor, ben istiyorum ki hesapla butonuna tıklayınca o öğrencinin tüm derslerinin harf notunu hesaplasın.

repeat until yapısını kullanırken programı sonsuz döngüye sokuyorum sanırım ya da başka bir şey oluyor program kilitleniyor.

Kod: Tümünü seç


repeat
AdoTable2.Edit;

vize:= AdoTable2.FieldByName('Vize').AsInteger;
final := AdoTable2.FieldByName('Final').AsInteger;
ort := vize * 0.4 + final *0.6;
case trunc(ort) of
0..49 : AdoTable2.FieldByName('HarfNotu').AsString := 'FF';
50..55 : AdoTable2.FieldByName('HarfNotu').AsString := 'DD';
//burası böyle devam ediyor
else
AdoTable2.FieldByName('HarfNotu').AsString := '??';

end;
until (AdoTable2.Eof) ;

thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Veritabanında Repeat Until Kullanımı

Mesaj gönderen thelvaci »

Kod: Tümünü seç

  while not AdoTable1.Eof do
  begin
    ...
    ...
    ...
    AdoTable1.Next;
  end;
ihalilcoban
Üye
Mesajlar: 121
Kayıt: 10 Ara 2015 10:39

Re: Veritabanında Repeat Until Kullanımı

Mesaj gönderen ihalilcoban »

thelvaci üstadın dediği gibi kullanabilirsin en kolay ve kullanışlı yoludur. Yalnız kurduğun mantık bana biraz ters gibi geldi. Neden dersen not hesaplama kısmındaki yüzdelik değişkenleri de manuel olarak kullanıcı girmeli. Çünkü adı üstünde değişken. Bazıları vize için %30 final için %70 kullanabilir veya yarı yarıya yapabilir. Onun için o alanları da manuel girdirmelisin. Veritabanı yapısını nasıl kurdun bilemiyorum ama ileriye dönük kullanışlı bir şeyler yapmak istersen tavsiyem bir tane öğrenci bilgilerini tuttuğun tablon olsun, bir tane de notları tuttuğun tablon olsun. Not tablosunu öğrenci bilgileri tablosuna detay olarak bağla ve veri girişlerini bu şekilde yap. İlerleyen safhalarda dönem not ortalaması ve genel not ortalamasını da hesaplatmak isteyebilirsin. Onun için veri tabanı yapısını çok iyi kurman lazım ki tekrar tekrar veritabanına dönüp alan eklemek durumunda kalmayasın.
Ortalama hesaplama kısmını da veritabanında calculate alan tanımlayıp yaparsan daha sağlıklı olur. Sonrasında yapman gereken sadece veri tabanının hesapladığı ortalama alanını alıp ona göre harf sistemine dönüştürmek olur.
Cevapla