![]() |
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:
Ich bin für jede Hilfe dankbar.
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; |
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. |
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 19:26 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-2025 by Thomas Breitkreuz