IBSQL ile tablo güncelleme hk

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
cinarbil
Üye
Mesajlar: 109
Kayıt: 18 Mar 2014 09:26

IBSQL ile tablo güncelleme hk

Mesaj gönderen cinarbil »

İyi günler

aşağıdaki procedure ile memo1 içindeki sql komutları ile tabloda değişiklik yapabiliyorum
2 konu da yardım istiyorum .
1. memo1 içindeki sql komutlarını çalıştırmadan önce söz dizimi açısından kontrol edebilir miyim.
2. form da tablo_adi diye text var bu text si data_prg.data_form.LISANSDBF.Transaction.CommitRetaining;
buradaki LISANSDBF nasıl yazarım data_prg.data_form.tablo_adi.text.Transaction.CommitRetaining; //farklı tabloları güncelleye bilmek için lazım

Kod: Tümünü seç

procedure Tsqlguncelfrm.Button1Click(Sender: TObject);
begin
if tablo_adi.text='' then  begin
  showmessage ('İşlem yapılacak tablo adı Boş olamaz');
  exit;
end;
 
Try
IBSQL1.Close;
IBSQL1.SQL.Clear;
ibsql1.SQL.Add(memo1.Lines.Text);
ibsql1.ExecQuery();
data_prg.data_form.LISANSDBF.Transaction.CommitRetaining; 
except
showmessage ('Hata oluştu sql komutları çalıştırılamadı.');
HandleCreateException;
End;
IBSQL1.Close;

end;
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Kullanıcı avatarı
xozcanx
Üye
Mesajlar: 362
Kayıt: 05 Oca 2012 12:55

Re: IBSQL ile tablo güncelleme hk

Mesaj gönderen xozcanx »

cinarbil yazdı:İyi günler

aşağıdaki procedure ile memo1 içindeki sql komutları ile tabloda değişiklik yapabiliyorum
2 konu da yardım istiyorum .
1. memo1 içindeki sql komutlarını çalıştırmadan önce söz dizimi açısından kontrol edebilir miyim.
2. form da tablo_adi diye text var bu text si data_prg.data_form.LISANSDBF.Transaction.CommitRetaining;
buradaki LISANSDBF nasıl yazarım data_prg.data_form.tablo_adi.text.Transaction.CommitRetaining; //farklı tabloları güncelleye bilmek için lazım

Kod: Tümünü seç

procedure Tsqlguncelfrm.Button1Click(Sender: TObject);
begin
if tablo_adi.text='' then  begin
  showmessage ('İşlem yapılacak tablo adı Boş olamaz');
  exit;
end;
 
Try
IBSQL1.Close;
IBSQL1.SQL.Clear;
ibsql1.SQL.Add(memo1.Lines.Text);
ibsql1.ExecQuery();
data_prg.data_form.LISANSDBF.Transaction.CommitRetaining; 
except
showmessage ('Hata oluştu sql komutları çalıştırılamadı.');
HandleCreateException;
End;
IBSQL1.Close;

end;
Merhaba;
2. Soru için şöyle denediniz mi?

Kod: Tümünü seç

Uses .......
   DATA.DB;
.
.
.
var
 a:TDataset;
Begin
 a.Name:=tablo_adi.Text;
 data_prg.data_form.a.Transaction.CommitRetaining;
End;
Kolay Gelsin;
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Kullanıcı avatarı
cinarbil
Üye
Mesajlar: 109
Kayıt: 18 Mar 2014 09:26

Re: IBSQL ile tablo güncelleme hk

Mesaj gönderen cinarbil »

cevabınız için teşekkür ederim

denedim
a. noktadan sonra kullanılabilen komutlarda geliyor Transaction.CommitRetaining yok ama update yapılabilir.
ama
data_prg.data_form.a. a hatalı tanımlanmamış diyor data_prg.data_form olmadan a. kullanırsan noktadan sonra kullanılabilen komutlar geliyor derliyor ama
program çalıştırınca sql hatası veriyor ( tablo_adi) alanındaki yazan tabloya ulaşamıyor.
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Kullanıcı avatarı
xozcanx
Üye
Mesajlar: 362
Kayıt: 05 Oca 2012 12:55

Re: IBSQL ile tablo güncelleme hk

Mesaj gönderen xozcanx »

cinarbil yazdı:cevabınız için teşekkür ederim

denedim
a. noktadan sonra kullanılabilen komutlarda geliyor Transaction.CommitRetaining yok ama update yapılabilir.
ama
data_prg.data_form.a. a hatalı tanımlanmamış diyor data_prg.data_form olmadan a. kullanırsan noktadan sonra kullanılabilen komutlar geliyor derliyor ama
program çalıştırınca sql hatası veriyor ( tablo_adi) alanındaki yazan tabloya ulaşamıyor.
Merhaba;
Dataset'e Transaction'un tanımladığından emin olun.
Form2 üzerindeki "LISANSDBF" adındaki Dataset'e erişmek için

Kod: Tümünü seç

Uses .......
   DATA.DB;
.
.
.

var
 tablom:TDataset;
Begin
 tablo_adi.Text:='LISANSDBF' // Bu alan Form üzerinden sizin Elle girdiğiniz Dataset Adınız.
 tablom.Name:=tablo_adi.Text;
 Form2.tablom.Transaction.CommitRetaining;
End;
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Cevapla