![]() |
[Fehler]arithmetic exception, numeric overflow, ...
Hallo Zusammen,
ich versuche einen Datensatz aus einer Interbase-DB in eine ListBox zu schreiben, etwa so:
Delphi-Quellcode:
wenn ich mein Programm dann starte kommt bei sehr vielen Einträgen in der Datenbank der Fehler:
querystring := 'SELECT * FROM TPC_INST_PROGR WHERE PC_ID = '+QuotedStr(pcid);
IBQuery1.SQL.Text := querystring; IBQuery1.Open; while not IBQuery1.Eof do begin lbInstProg.Items.Add(IBQuery1.FieldByName('PROGR_STR').AsString); IBQuery1.Next(); end; "arithmetic exception, numeric overflow, or string truncation" Bei Borland bzw. InterbaseCorporation habe ich gelesen dass dieser Fehler auftreten kann wenn ein Feld mehr Daten aufnehmen soll als es kann. Da standen zwar Workarounds, allerdings waren die auf so konkrete Fälle zugeschnitten dass ich diese nicht umsetzen konnte. Weiß einer wie ich diese Daten in eine ListBox reinkriegen kann? Gruß Changer |
Re: [Fehler]arithmetic exception, numeric overflow, ...
Hallo Changer,
könnte es an dem Next Statement liegen? Das muss nämlich ohne Klammern aufgerufen werden:
Delphi-Quellcode:
while not IBQuery1.Eof do
begin lbInstProg.Items.Add(IBQuery1.FieldByName('PROGR_STR').AsString); IBQuery1.Next; end; |
Re: [Fehler]arithmetic exception, numeric overflow, ...
Nein, hat auch nicht funktioniert :o( Irgendwie liest er alle Einträge aus der Tabelle mehrmals ein und schreibt sie in die ListBox.
Gruß Changer |
Re: [Fehler]arithmetic exception, numeric overflow, ...
Hallo Changer,
das ist eigentlich nicht möglich. Die Schleife trägt jeden Satz genau einmal ein. Da du die Liste nicht "clearst", kann aber noch das Ergebnis vom vorherigen Aufruf drinstehen. Kommt immer noch die exception? |
Re: [Fehler]arithmetic exception, numeric overflow, ...
Hallo MrSpock,
ja die Exception kommt immer noch. Allerdings hab ich mittlerweile herausgefunden dass es kein Delphi-Fehler bzw. Programmier-Fehler ist sondern ein Interbase-Fehler. Derjenige welcher die DB erstellt hat, hat bei einigen Feldern vergessen das Charakter-Set zu setzen. D.H. als Charakter-Set ist 'None' vorgesehen und sobald ein Sonderzeichen auftritt kommt die Exception hoch. Nachdem ich ein Testfeld mit ISO 8859_1 erstellt habe funktiniert es. Jetzt bin ich grade mehr oder weniger fröhlich dabei 1400 Datensätze von Hand zu ändern :-( da SQL genau die gleiche Exception geworfen wird *grummel* Trotzdem vielen Dank für Deine Hilfe Gruß Changer |
Re: [Fehler]arithmetic exception, numeric overflow, ...
Hallo Changer,
das ist ein guter Hinweis. Zwar hatte ich diesen Fehler noch nicht. Jetzt bin ich aber vorbereitet. Danke. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz