bu kodla neden kayıt yapmadı firebird ?

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

bu kodla neden kayıt yapmadı firebird ?

Mesaj gönderen vedatkaba »

Kod: Tümünü seç

begin
 With DataModule1 do
 begin
 Sinif_kart.Close;
 Sinif_kart.SQL.Add('select * from SINIF_T where SINIF_ADI=:VARMI' ) ;
 Sinif_kart.ParamByName('VARMI').AsString:=Edit1.Text;
 Sinif_kart.Open;
 if Sinif_kart.FieldByName('SINIF_ADI').AsString=edit1.Text then
 begin
        MessageDlg('Aynı Kayıttan Zaten var',mtInformation,mbOKCancel,0);
 end
 else
 begin
 Sinif_data.Edit;
 Sinif_data.FieldByName('SINIF_ADI').AsString:=edit1.Text;
 Sinif_data.Post;
 end;
end;
ShowMessage('Kayıt İşlemi Tamamlandı ! ');
end;
end.
bu kodla tabloya kayıt yaptıramadım .

sınıf_data: İBDATASET
sınıf_kart:İBQUERY
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
ahmet_sinav
Üye
Mesajlar: 263
Kayıt: 17 Nis 2004 07:44
Konum: İzmir Yeşilyurt Ulu Cami
İletişim:

Mesaj gönderen ahmet_sinav »

İyi çalışmalar;
transaction'ı commit etmeniz gerekiyor. Forumda bu konuyu aratırsanız bir çok sonuç elde edersiniz.
Saygılar;
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Kod: Tümünü seç

procedure TDataModule1.Sinif_dataAfterPost(DataSet: TDataSet);
begin
IBTransaction1.CommitRetaining;
end;

end.
hocam dediğiniz buysa bu var ama kodda ne var anlamadım çalışmadı şimdi, kayıt etmiyor hata veriyor nedenini anlamadım.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

Merhaba,

Hata mesajı ney acaba :oops:

Kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

hocam hata bu EIBINTERBASEERROR with message 'Dynamic SQL error SQL error code=-104
token unknown - line2 ,char1
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

1- ibdatasetin updatesqli ni gormeden bise diyemeyiz
2- sorunla ilgili degil ama kodlarda mantik hatasi var
* ayni kayit varsa uyaridan sonra showmessage yonetimi de calisir
* edit1.text deki veriye esit olan kayitlar seciliyor zaten hemen ardindan edit1.text ile tekrar karislastiriliyor.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

hocam arama işlemini falan yapıyor geliyor ordan ileri gitmiyor.Zaman darlığı olduğu için veritabanını değiştirdim ama daha sonra aynı projeyi firebirdde tekrar yazıcam aklıma takıldı çünkü.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

Merhaba,

Hata mesajı sql satırını işaret ediyor ama sql satırına bakıyorum ...sql.clear; satırı haricinde doğru gibi görünüyor(ben genelde sql.clear kullanıyorum da).

birde kafama takılan kayıt yoksa yaz demişsiniz insert veya append ile tabloya satır açmamışsınız edit pozisyonuna almışsınız. Belki bu cahilliğimden ama yeni kayıt girileceği için tereddüt ve şüphede kaldım.

kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Ottoman

Mesaj gönderen Ottoman »

Kod: Tümünü seç

Kod: 
begin 
 With DataModule1 do 
 begin 
 Sinif_kart.Close; 
 Sinif_kart.SQL.Add('select * from SINIF_T where SINIF_ADI=:VARMI' ) ; 
 Sinif_kart.ParamByName('VARMI').AsString:=Edit1.Text; 
 Sinif_kart.Open;
 begin//Burası........... 
 if Sinif_kart.FieldByName('SINIF_ADI').AsString=edit1.Text then 
 begin 
        MessageDlg('Aynı Kayıttan Zaten var',mtInformation,mbOKCancel,0); 
 end 
 else 
 begin 
 Sinif_data.Edit; 
 Sinif_data.FieldByName('SINIF_ADI').AsString:=edit1.Text; 
 Sinif_data.Post; 
 end; 
end; 
ShowMessage('Kayıt İşlemi Tamamlandı ! ');
end; 
end; 
end. 
Hocam Verdiğiniz kod bu şekilde çalıştı......(insert veya Append'le de VT'ye giriş yapılması lazım.).
shadowmann
Üye
Mesajlar: 508
Kayıt: 30 Oca 2004 10:49

Mesaj gönderen shadowmann »

Parametreye değer atamadan önce benim bildiğim prepare demelisiniz ki parametre değer almaya hazır olsun. Bir de bobastürk ün dediği gibi edit demişsiniz. GÖzden kaçmış olabilir. İnsert ya da append olması gerekir.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

SQL cümlesini runtime girdiğinizde ibquery yada diğer ibx bileşenleri parametreleri create etmez bu işlem sadece tasarım anında yapılmakta...
Bu şekilde kullanacağınız zaman IBQuery1.Params.CreateParam() ile parametreleri sizin oluşturmanız lazım
ÜŞENME,ERTELEME,VAZGEÇME
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

gkimirti yazdı:SQL cümlesini runtime girdiğinizde ibquery yada diğer ibx bileşenleri parametreleri create etmez bu işlem sadece tasarım anında yapılmakta...
Nasıl yani?Runtime oluşturulan sorgu fazladan bir de create metodunu çağırmayı mı gerektirir doğru mu anladım?Cevap evetse benim kullandığım IBX bileşenleri fazla yetenekli diyebilirim o zaman :)
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Bu arada problem @sadettinpolat'ın değindiği update sorgusundan kaynaklanıyor bilginize..

Kolay gele..
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

vedatkaba
token unknown - line2 ,char1
1 - hata mesajında satır 2 karekter 1 hatası diyor. buda şu an ki sql sorgusunda 2.satırın olmadığını, daha önceki sql sorgusunun clear ile temizlenmediğine işaret ediyor.

Kod: Tümünü seç

Sinif_kart.SQL.Clear;
Sinif_kart.Close;
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Arkadaşlar verdiğiniz cevaplardan dolayı teşekkür ederim, gerçekten çok özverili insanlar olduğunuzu bir kere daha anladım hepinizden Allah razı olsun .
Cevaplarınız neticesinde sorunu çözeceğime eminim ve buraya yazıcam.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Cevapla