Merhaba,
Dbexpress ve FB2.0 kullanıyorum. Sicil numarası sorgulamasında eğer sorgulanan rakam 35000 geçerse sorgulamanın sonucunuda verip aynı zamanda "Arithmetic exception, numeric overflow, or string truncation" hatası veriyor. Geçmezse sorun yok. SICILNO integer tanımlı.Bu hataya anlam veremedim.Ayrıca bu alanı char olarak tanımlayıp ona göre sorguladım.Yine aynı hatayı veriyor.Yardımlarınızı bekliyorum.
procedure TForm1.BulClick(Sender: TObject);
var
asd, cv: string;
begin
asd := def.Text;
cv := IntToStr(DM.Klasor_cl.FieldByName('ILCEKODU').AsInteger);
if def.Text <> '' then
begin
DM.Klasor_cl.close;
DM.Klasor_cl.CommandText := 'select * from KLASOR Where SICILNO=:SD and ILCEKODU=:RD ';
DM.Klasor_cl.Params.ParamByName('SD').AsInteger:=StrToInt(asd);
DM.Klasor_cl.Params.ParamByName('RD').AsInteger:=StrToInt(cv);
DM.Klasor_cl.Open;
end;
end;
32000 (tam olarak 32767 yi) geçtikten sonra hata veriyorsa, hatanın nedeni sicilno adlı alanın smallint olmasıdır. Bu alanı int yapmayı dene, büyük ihtimalle sorunun 2 milyara kadar çözülür.
İlginize çok teşekkür ediyorum. Asıl sorun bu sorgudan çıkmıyor. Datasete bağladığım datasourcedaki sorgudan cıkıyormuş. Bu sorgudaki parametre değeri ısrarla smallint veriyordu.Garip bir hata sonra tabloyu inceleyince içinde foreing key smallint ile bağlamışım.Foreing keyi düzeltince hepsi düzeldi.Ama buluncaya kadar saç baş yoldurdu..
selam arkadaşlar... firebird 2.0.0 veri tabanı kullanılan projede daha önce olmayan bir hata almaya başladım. integer overflow hatası. projemizin son haline geçirmeden evvel dev expresin dx gridi kullanıyorduk. sonradan sadece gridlerini xc grde çevirdik akabinde bu hatayı olur olmaz zamanda vermeye başladı. bi standardı yok hata versi için. ama genelde bi tabloda kayıt olduğu zaman veriyor bu hatayı. o tabloyu idik didik ett,m bunas sebep olablicek hatayı bulamadım. yardımlarınız için teşekkürler