Empty SQL statament hatası

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
YaPaY
Üye
Mesajlar: 16
Kayıt: 17 Tem 2005 11:13

Empty SQL statament hatası

Mesaj gönderen YaPaY »

FB ile ısınma turları sırasında yapmaya çalıştığım ufak DB programında bu hatayı alıyorum. Kodlar şu şekilde:

Kod: Tümünü seç

procedure Tfrm_ana.Button1Click(Sender: TObject);
begin
frm_ana.IBDataSet1.Close;
frm_ana.IBDataSet1.insertSQL.Clear;
frm_ana.IBDataSet1.insertSQL.Add('insert into TBL_MUSTERI (SIRA,AD)');
frm_ana.IBDataSet1.insertSQL.Add('VALUES ('''+edit1.Text+''','''+edit2.Text+''')'); 
frm_ana.IBDataSet1.open;
frm_ana.IBDataSet1.Insert;
frm_ana.IBDataSet1.Post;
frm_ana.IBDataSet1.Transaction.CommitRetaining;
SIRA İnteger ve not null, ayrıca primary key
AD Varchar

Bu hata neden oluşuyor acaba?
@mrmarman yazdı:TAŞIMA BİLGİSİ : Programlama formundan FIREBIRD formuna taşınmıştır
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Mesaj gönderen serkan »

open yerine execsql kullan bence..
Kullanıcı avatarı
sTb
Üye
Mesajlar: 59
Kayıt: 06 Nis 2005 11:13
Konum: Eskişehir

Mesaj gönderen sTb »

Dataset in selectsql i boş ise ondan yapabilir.
" Her bildiğin doğru olsun. Ama her doğruyu her yerde söylemek doğru değildir. "
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Bir sorgu sorunsuz çalışsa bile sonuç olarak kayıt döndürmeyen türden sorguların çalıştırılmasında (insert, update, delete vs.) open metodu kullanılırsa işlem çalıştırıldıktan sonra belirttiğiniz hata üretililir. Bu durumda @serkan'ın dediği gibi Open metodu yerine ExceSQL metodunu kullanın.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
hatayı selectsql boş olduğu için veriyor gibime geldi.
ibdatasetin insertsql ini buşekilde kullanma.
ibdataset in sql(ler)i ile oynamak bence doğru yol değil. eğer sqlleri değiştirerek işlem yapacaksanız ibquery veya ibsql bileşenlerini kullanın. ibdataset in sql(ler)ini bir defa hazırlayın ve tablo gibi kullanın.
benim naçizane önerilerim dir.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla