Merhabalar başlık biraz değişik olmuş olabilir bu yapamadığım sistemi nasıl soracağımı bilmiyorum malesef kusuruma bakmayın,
Projemde 3 adet dbRadioGroup, 1 adet dbNavigator ve 1 adet dbGrid var.
Benim tablom da ise 4 alan var, bu 3 kaydı radioGrouplardan alabiliyorum, diğer 1 alana da OpenDialog'dan seçtiğim dosyanın adını yazdıracağım.
Butona tıklayıp açtığım dosyanın adını bir değişkene aktarıyorum, sonrasında dbNavigator'de "insert"'e tıklayıp radiogrouplardan seçimlerimi yapıp kaydediyorum. Ancak böyle yaptığım takdirde diğer 1 alan yani dosyanın adı boş kalıyor, radiogruplardan gelenler doluyor. İşin içinden çıkamadım.
Kısacası radiogroup gibi tool olmadan veritabanına radiogrouplardakileri de seçip eklemeyi nasıl yapabilirim? Opendialogdan gelen dosya adı değişkenini navigator'de insert ederken, kodları nereye yazabilirim acaba?
Veritabanına tool kullanmadan kayıt etme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 10
- Kayıt: 18 Oca 2020 12:52
Re: Veritabanına tool kullanmadan kayıt etme
Merhaba,
Çalışmayan kodu paylaşabilir misiniz?
Çalışmayan kodu paylaşabilir misiniz?
-
- Üye
- Mesajlar: 10
- Kayıt: 18 Oca 2020 12:52
Re: Veritabanına tool kullanmadan kayıt etme
Hangi Delphi sürümünü kullanıyorsunuz?
Hangi veritabanı sistemini kullanıyorsunuz?
Bahsi geçen tablo yapısını paylaşabilir misiniz?
Hangi veritabanı sistemini kullanıyorsunuz?
Bahsi geçen tablo yapısını paylaşabilir misiniz?
-
- Üye
- Mesajlar: 10
- Kayıt: 18 Oca 2020 12:52
Re: Veritabanına tool kullanmadan kayıt etme
FDTable olayları (Events) içinde AfterInsert olayına aşağıdaki gibi bir kod yazabilirsiniz.
Yukarıdaki örnekte ilgili alan adını ve dosya adını sakladığınız değişken adını düzeltmeniz gerekli.
AfterInsert olayı her yeni kayıt eklendiğinde (DbNavigator üzerinden INSERT butonu tıklandığında) çalışacaktır. Dolayısıyla eğer kullanıcı hiç OpenDialog kullanarak dosya seçimi yapmamış ise yine dosya adı alanınız boş olacaktır.
Diğer taraftan, kullanıcı bir defa OpenDialog kullanarak dosya adı seçimi yapar ise bundan sonra tekrar yapana kadar tüm yeni kayıtlara ilk seçilen dosya adını kayıt edecektir.
Bu gibi durumlar sizin için sorun teşkil eder ise uygun şekilde önlemini almalısınız.
Kod: Tümünü seç
procedure TForm3.FDTable1AfterInsert(DataSet: TDataSet);
begin
DataSet.FieldByName('dosya_adi_alani').AsString := Dosya_Adi_Degiskeni;
end;
AfterInsert olayı her yeni kayıt eklendiğinde (DbNavigator üzerinden INSERT butonu tıklandığında) çalışacaktır. Dolayısıyla eğer kullanıcı hiç OpenDialog kullanarak dosya seçimi yapmamış ise yine dosya adı alanınız boş olacaktır.
Diğer taraftan, kullanıcı bir defa OpenDialog kullanarak dosya adı seçimi yapar ise bundan sonra tekrar yapana kadar tüm yeni kayıtlara ilk seçilen dosya adını kayıt edecektir.
Bu gibi durumlar sizin için sorun teşkil eder ise uygun şekilde önlemini almalısınız.
-
- Üye
- Mesajlar: 10
- Kayıt: 18 Oca 2020 12:52
Re: Veritabanına tool kullanmadan kayıt etme
Çok teşekkür ederim hocamertank yazdı: ↑23 Oca 2020 04:46 FDTable olayları (Events) içinde AfterInsert olayına aşağıdaki gibi bir kod yazabilirsiniz.Yukarıdaki örnekte ilgili alan adını ve dosya adını sakladığınız değişken adını düzeltmeniz gerekli.Kod: Tümünü seç
procedure TForm3.FDTable1AfterInsert(DataSet: TDataSet); begin DataSet.FieldByName('dosya_adi_alani').AsString := Dosya_Adi_Degiskeni; end;
AfterInsert olayı her yeni kayıt eklendiğinde (DbNavigator üzerinden INSERT butonu tıklandığında) çalışacaktır. Dolayısıyla eğer kullanıcı hiç OpenDialog kullanarak dosya seçimi yapmamış ise yine dosya adı alanınız boş olacaktır.
Diğer taraftan, kullanıcı bir defa OpenDialog kullanarak dosya adı seçimi yapar ise bundan sonra tekrar yapana kadar tüm yeni kayıtlara ilk seçilen dosya adını kayıt edecektir.
Bu gibi durumlar sizin için sorun teşkil eder ise uygun şekilde önlemini almalısınız.