Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Isc error code: 335544347 (https://www.delphipraxis.net/161853-isc-error-code-335544347-a.html)

cam 24. Jul 2011 16:23

Datenbank: Firebird • Version: 2.5 • Zugriff über: Delphi7

Isc error code: 335544347
 
Hallo,

ich habe hier einen Befehl, der mir immer wieder die Fehlermeldung bringt:

ISC ERROR CODE: 335544347
ISC ERROR MESSAGE: validation error for column ID, value "***null***"

Das Feld ist in der Datenbank so definiert, dass es nicht "NULL" sein darf.
Nach meinem Verständnis befülle ich das Feld. Ich habe den gleichen Code schon einmal in diesem Programm genutzt, und da funktioniert es.
Vielleicht kann mir jemand sagen, was ich übersehe?

Delphi-Quellcode:
          IB_Query.Close;
          IB_Query.SQL.Text:= 'SELECT MAX(BLABRUF.ID) AS IDMAX FROM BLABRUF';
          IB_Query.Open;
          if IB_Query.FieldByName('IDMAX').IsNotNull then
          begin
            id:= IB_Query.FieldByName('IDMAX').AsInteger;
          end
          else
          begin
            id:= 0;
          end;
          IB_Query.Close;
          id:= id + 1;
          IB_Query.Close;
          IB_Query.SQL.Clear;
          IB_Query.SQL.Append('INSERT INTO BLABRUF (BLABRUF.ID, BLABRUF.AUFTRAG, BLABRUF.PFAD, BLABRUF.GESPEICHERT, BLABRUF.INOUT)');
          IB_Query.SQL.Append('VALUES (:id,:auftrag,:pfad,:gespeichert,''I'');');
          IB_Query.ParamByName('id').AsInteger;
          IB_Query.ParamByName('auftrag').AsString:= zeile;
          IB_Query.ParamByName('pfad').AsString:= pfadListBox;
          IB_Query.ParamByName('gespeichert').AsDateTime;
Ich bin für jede Hilfe dankbar.

defede 24. Jul 2011 16:37

AW: Isc error code: 335544347
 
Hallo, ja kann es sein das dein Insert keine ID bekommt?
IB_Query.ParamByName('id').AsInteger := id;

Amsonsten würde ich den Select per Format in einem String zusammenbauen und
IB_Query.Sql.Text := sSQL;
absenden.

haentschman 24. Jul 2011 16:57

AW: Isc error code: 335544347
 
Ja, klassischer Coffeinmangel :thumb:
...defede hat Recht

Code:
IB_Query.ParamByName('id').AsInteger; //:= id fehlt

...sicherer als deine "Hochrechnung" wäre die Verwendung eines Generators in Verbindung mit einem Trigger


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz