Edite veri aktarma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Tahsinzencir
Üye
Mesajlar: 46
Kayıt: 15 May 2009 11:16

Edite veri aktarma

Mesaj gönderen Tahsinzencir » 24 Şub 2019 11:20

aşağıda ki kodla nasıl bütün editleri post ediyorsam
bunun tersiylede veri tabanından editlere toplu olarak nasıl veri aktarırım
Çünku 60 Yakın dbedit var.


if DM.Carikart.State in [ dsEdit, dsInsert] then
DM.Carikart.Post;

Kullanıcı avatarı
ihalilcoban
Üye
Mesajlar: 119
Kayıt: 10 Ara 2015 10:39
Konum: Gaziantep

Re: Edite veri aktarma

Mesaj gönderen ihalilcoban » 24 Şub 2019 01:39

Merhaba.

Sorunuz tam anlaşılmıyor. Aktarmak istediğiniz normal edit mi dbedit mi? DbEdit ise zaten aktarmaya gerek yok. Veri tabanı duyarlı bileşen olduğu için bağlantıları yapmanız yeterli. Normal edit ise döngüyle kontrol etmek gerekir. Benim anladığım yapmak istediğiniz bir ihtimal şu olabilir;

Kullanıcı cari kartı açtı. Herhangi bir alanı değiştirdiği anda Kaydet butonu aktif olsun istiyorum. O zaman yapılması gereken ilgili datasetin OnStateChange olayına;

Kod: Tümünü seç

procedure TDM.KURSIYER_SStateChange(Sender: TObject);
begin
  if Kursiyer_Karti <> Nil Then
  begin
    case KURSIYER_S.State of
    dsBrowse:
      begin
      Kursiyer_Karti.Kaydet_Btn.Enabled := False;
      Kursiyer_Karti.Vazgec_Btn.Enabled := False;

      Kursiyer_Karti.Kurs_Ekle_Btn.Enabled := True;
      Kursiyer_Karti.Yeni_Btn.Enabled := True;
      Kursiyer_Karti.Sil_Btn.Enabled := True;
      end;
    dsInsert,
    dsEdit:
      begin
      Kursiyer_Karti.Kaydet_Btn.Enabled := True;
      Kursiyer_Karti.Vazgec_Btn.Enabled := True;

      Kursiyer_Karti.Kurs_Ekle_Btn.Enabled := False;
      Kursiyer_Karti.Yeni_Btn.Enabled := False;
      Kursiyer_Karti.Sil_Btn.Enabled := False;
      end;
    end;
    Exit;
  end;
end;
bu kodu yazmak olacaktır. Bu şekilde her dbedit olayını tek tek kontrol etmek yerine değişiklik olduğu anda ilgili buton aktif edilerek işlem gerçekleştirilir. Kodu kendinize göre düzenlersiniz.

Eğer sorunuzu yanlış anladıysam, daha anlaşılır bir şekilde ifade ederseniz, fazlasıyla yardımcı olunacaktır.

İyi çalışmalar.

Cevapla