FireBird Sorguda hata

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
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

FireBird Sorguda hata

Mesaj gönderen Nemesis2005 »

FireBird 1.5 kullanıyorum oluşturduğum database'ye bir sorgu gönderiyorum ve adı kısmına kısıt veriyorum örnek olarak SELECT * FROM CARI WHERE CARI_ADI LIKE :ADI şeklinde sorguda herhangi bir sorun yok ama gönderdiğim ADI parametresi Field'in uzunluğunu geçtiğinde


SQL Error: Dynamic SQL Error SQL error code = -303 arithmetic exception, numeric overflow, or string truncation. Error Code: -303. Incompatible column/host variable data type The SQL

hatası veriyor. Bu sorunda oluşturduğum her rehberde Field uzunluğu geçilirse karşıma çıkıyor. Nasıl çözebilirim yardımcı olursanız sevinirim
Her iyinin içinde bir Kötülük.Her Kötnün içide de bir iyilik vardır
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

Yani ne yapmasını beklerdiniz :roll:
Alan uzunluğunu aştığında hata vermesi doğal .

Çok basit olacak ama :) o zaman sizde alanın uzunluğunu arttırın ...
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

Mesaj gönderen Nemesis2005 »

ama ben bu field 'a kayıt yapmıyorum ki sadece sorgu gönderiyorum field varcahar (8) ise ben 9 karakterli bir String gönderdiğimde bu hatayı veriyor
Her iyinin içinde bir Kötülük.Her Kötnün içide de bir iyilik vardır
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

O zaman eğer arama değeri Edit içine giriliyorsa
o alanın uzunluğu kadar Edit içerisine bilgi girilmesini sağlayın
şöyle ki ;

Kod: Tümünü seç

EditOnChange
begin
  if Length(edit1.text)>? then
    ............
end;

:idea:
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

:ADI

Parametresinin uzunluğunu Delphi otomatik olarak, database'de karşılaştırılan fielda bakarak tip ve uzunluk atamasını yapar. Siz de ParamByName veya benzeri bir yöntemle, parametreye yükleme yaparken, size'ı tutmadığı için böyle bir sorun yapıyor olma olasılığı var. Bu sebeple siz parametreye atama yaprken, uzunluğu aşmamasına dikkat edin.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Cevapla