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.
Ottoman

Mesaj gönderen Ottoman »

EIBINTERBASEERROR with message 'Dynamic SQL error SQL error code=-104
token unknown - line2 ,char1
Bu hatanın Türkçe açılımı şu;
Unit'in 104'üncü satırındaki Kod'un 2.nci sırası,1.nci karekter'i İnterbase veritabanının tanımadığını...(VT'ye erişimin olmadığını)
Söylüyor.Yani Söz konusu kod bloğu büyük bir ihtimalle TEdit'le ilk başlayan satıra denk geldiği için,yazılan karakterin VT'ye girişi yapılamadığından verdiği Hatadır.Yeni kayıt girişinin muhakkak yapılması lazım.(Akabinde "Edit ve Post" yapılmağa çalışılıyor)Çünkü edit'e girilen ikinci yeni karekterlerin Mutlaka "insert ve Append"le girişi yqpılmalıdır.yoksa Edit'in içinde kısır bir döngüye sebep olunur.("Kayıt bulundu!" veya "kayıt bulunamadı!").
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

Merhaba,

@vedat ustam sadece sizin tablonuza uygun tablo oluşturup kodunuzu kopyala yapıştır yaptım ve sorunsuz çalıştı. Sadece @sadettin ustamın dediği gibi showmessage her halukarda çıktığı için yerini değiştirdim. çalışmayı gönderebilirim isterseniz bir inceleyin.

kolay gelsin

not:düzeltiyorum ayrıca önceki bahsettiğim gibi edit komutunda dataset konumlandığı yeri editliyor onun için append komutu verdim.

not:yine düzeltiyorum birde sql.clear kullanılmalı önceki söylediğim gibi yoksa sql cümlesini temizlemediği için önceki sorguda aklı kalıyor ve hata veriyor. kod şöyle;

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
  With DataModule1 do
 begin
 Sinif_kart.Close;
 sinif_kart.SQL.Clear;
 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.append;
 Sinif_data.FieldByName('SINIF_ADI').AsString:=edit1.Text;
 Sinif_data.Post;
 ShowMessage('Kayıt İşlemi Tamamlandı ! ');
 end;
end;

end;
Ş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ı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

Ottoman yazdı:
EIBINTERBASEERROR with message 'Dynamic SQL error SQL error code=-104
token unknown - line2 ,char1
Bu hatanın Türkçe açılımı şu;
Unit'in 104'üncü satırındaki Kod'un 2.nci sırası,1.nci karekter'i İnterbase veritabanının tanımadığını...(VT'ye erişimin olmadığını)
Söylüyor.Yani Söz konusu kod bloğu büyük bir ihtimalle TEdit'le ilk başlayan satıra denk geldiği için,yazılan karakterin VT'ye girişi yapılamadığından verdiği Hatadır.Yeni kayıt girişinin muhakkak yapılması lazım.(Akabinde "Edit ve Post" yapılmağa çalışılıyor)Çünkü edit'e girilen ikinci yeni karekterlerin Mutlaka "insert ve Append"le girişi yqpılmalıdır.yoksa Edit'in içinde kısır bir döngüye sebep olunur.("Kayıt bulundu!" veya "kayıt bulunamadı!").
arkadaşım nerden çıkarıyorsun. 104 satırın 2.nci sırası, 1.nci karekteri şeklindeki bir ifadeyi anlam veremedim. yani sadece yazmak amaçlımı. SQL kod hatalarının tamamında 104 hata kodu vardır. + dynamic sql error code =-104 şeklindeki bir ifade size unitin 104. satırını gösteriyorsa siz sürekli 104.satırdan çıkamazsınız... ve hata başlı başına VT hatasıdır. unit ile alakalı değildir..
Ottoman

Mesaj gönderen Ottoman »

Unit'in 104'üncü satırındaki(Türkçeye çevirirken burada hata olmuş) Kod'un 2.nci sırası,1.nci karekter'i İnterbase veritabanının tanımadığını...(VT'ye erişimin olmadığını)
Doğrusu,"104.üncü Hata" Kod'un bulunduğu satırda olacaktı.
Ama kardeş Bizde Unitle alakalı demiyoruz!? işaret ediyoruz! TEditden VT'ye giriş yapılamadığından bahsediyoruz!.Zaten "Bobastürk" Aynı bizim düşündüğümüz gibi"Append"'le bir giriş yapmış?.
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Teşekkür ederim üstadlar ellerinize sağlık cevaplar yetti arttı bile. İyi çalışmalar kolay gelsin.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

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