Merhabalar;
başlık biraz caip oldu ama tam toparlayamadım. yamak istediğim şu, memur maaş programı gibi bişey.
tabloda tüm memurların verileri var. her memurun derece ve kademe gibi maaşa etki eden alanları farklı. sonuçta buton_clik e yazacagım kod tablodaki ilk kaydı getirecek, alanları bir değişkene atayacak ve üzerinde matematiksel işlemi yapacak bu son değişiklikleri veritabanında günceleyecek ve diğer kişiye geçecek. bu kayıt sonuna kadar devam edecek. VT olarak paradox kullanıyorum. benim ugraştığım kod da şu ancak hata veriyor.
procedure TForm4.Button1Click(Sender: TObject);
var
esyardimi,katsayi:double;
sonuc,tckimlik:string;
begin
while not query1.Eof do
begin
tckimlik:=form4.Query1Tckimlikno.Value;
katsayi:=form4.Query1Aylikgosterge.Value;
esyardimi:=700*katsayi;
query1.SQL.Add('update memurmaas set esyardimi=:yardim where tckimlikno=:tckimlik ');
query1.ParamByName('tckimlik').Value:=tckimlik;
query1.ParamByName('yardim').Value:=esyardimi;
query1.ExecSQL;
tckimlik:='';
query1.Next;
end
end;
bilgisini paylaşacak arkadaşlara şimdiden teşekkürler
Query üzerinde kayıtları otomatik güncellemek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Kod: Tümünü seç
query1.SQL.Add('update memurmaas set esyardimi=:yardim where tckimlikno=:tckimlik ');
Kod: Tümünü seç
query1.SQL.Add('update memurmaas set esyardimi=:esyardimi where tckimlikno=:tckimlik ');
Birde verdiği hatayı yazsan sorunu bulmak daha kolay olacak.
Zannedersem değişkenlerin veri tiplerinde hata var.
Aslında gördüğüm kadarı ile senin işlem yapacağın alanlar ve kullandığın değişkenler aynı tablo içerissinde. Sana farklı bir yol tavsiye edeyim
ikinci bir query i forma yerleştir ve veritabanına gerekli bağlantıları yap. ikincinin adı Query2 olsun tabi bunu sadece veri tabanına bağla gride veya datasource gerek yok.
Koduda şu şekilde değiştir
while not query1.Eof do
begin
query2.SQL.Clear;
query2.SQL.Add('update memurmaas set esyardimi=700*katsayi where tckimlikno=:tckimlik ');
query2.ParamByName('tckimlik').Value:=form4.Query1Tckimlikno.Value;
query2.ExecSQL;
query1.Next;
end
Zannedersem değişkenlerin veri tiplerinde hata var.
Aslında gördüğüm kadarı ile senin işlem yapacağın alanlar ve kullandığın değişkenler aynı tablo içerissinde. Sana farklı bir yol tavsiye edeyim
ikinci bir query i forma yerleştir ve veritabanına gerekli bağlantıları yap. ikincinin adı Query2 olsun tabi bunu sadece veri tabanına bağla gride veya datasource gerek yok.
Koduda şu şekilde değiştir
while not query1.Eof do
begin
query2.SQL.Clear;
query2.SQL.Add('update memurmaas set esyardimi=700*katsayi where tckimlikno=:tckimlik ');
query2.ParamByName('tckimlik').Value:=form4.Query1Tckimlikno.Value;
query2.ExecSQL;
query1.Next;
end