Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Firebird INTEGER = NotNull (https://www.delphipraxis.net/183653-firebird-integer-%3D-notnull.html)

strom 26. Jan 2015 13:34

Datenbank: FireBird • Version: ? • Zugriff über: IBC

Firebird INTEGER = NotNull
 
Hallo,

habe Probleme mit der Spalte "Einsatznummer" hier soll automatisch eine Nr. angelegt werden.

Einsatznummer(PK)INTEGER NOTNULL

Delphi-Quellcode:
Einsatz.Insert;
  Einsatz.Edit;
  z := z +1;
  Einsatz.FieldByName('MELDUNG').Text := MemoText;
  Einsatz.FieldByName('EINSATZNUMMER').Text := InttoStr(z); // Was ist falsch?
  Einsatz.FieldByName('Sondersignal').Text := '0';
  Einsatz.Post;

DeddyH 26. Jan 2015 13:38

AW: Firebird INTEGER = NotNull
 
Wieso versuchst Du händisch, den PK zu setzen? Üblicherweise benutzt man dafür einen Generator und einen BEFORE INSERT-Trigger und hat damit dann quasi ein AutoInc-Feld.

Uwe Raabe 26. Jan 2015 13:40

AW: Firebird INTEGER = NotNull
 
Abgesehen von dem überflüssigen Edit (du machst ja direkt davor schon ein Insert), was funktioniert denn nicht?

strom 26. Jan 2015 13:47

AW: Firebird INTEGER = NotNull
 
Also,

"Edit" ist jetzt raus! Aber es wird nicht hochgezählt, es wird immer eine 1 gesetzt! :(

strom 26. Jan 2015 13:50

AW: Firebird INTEGER = NotNull
 
Jetzt geht es! :-)

Delphi-Quellcode:
 Einsatz.Insert;
  z := z + 1;
  Einsatz.FieldByName('MELDUNG').Text := MemoText;
  Einsatz.FieldByName('EINSATZNUMMER').Text := InttoStr(z+1);
  Einsatz.FieldByName('Sondersignal').Text := '0';
  Einsatz.Post;

strom 26. Jan 2015 13:52

AW: Firebird INTEGER = NotNull
 
es geht doch nicht :-(

es wird nicht hochgezählt!

mkinzler 26. Jan 2015 13:57

AW: Firebird INTEGER = NotNull
 
Warum versuchst Du ein Integerfeld als Text zu setzen?
Delphi-Quellcode:
Einsatz.FieldByName('MELDUNG').Value := z+1;
Was für einen Wert hat z am Anfang?
Es ist, wie schon erwähnt äusserst gefährlich den PK derartig zu setzen, verwenden einen Generator, welchen Du per Trigger setzen lässt.
Möglicherweise ist schon eine BI-Trigger aktiv.

strom 26. Jan 2015 14:11

AW: Firebird INTEGER = NotNull
 
hallo mkinzler,

die Datenbank ist vorgegeben, wo ich was reinschreiben möchte.
Ein Trigger Trigger_BI ist auch vorhanden, wie kann ich diesen mit einbinden?

himitsu 26. Jan 2015 14:12

AW: Firebird INTEGER = NotNull
 
Zitat:

Zitat von mkinzler (Beitrag 1287799)
Warum versuchst Du ein Integerfeld als Text zu setzen?

AsInteger :stupid:

Wo kommt denn der Inhalt von
Delphi-Quellcode:
z
her?
Und warum wird doppelt hochgezählt?

DeddyH 26. Jan 2015 14:12

AW: Firebird INTEGER = NotNull
 
Kommentier die Zeile doch mal aus, in der Du versuchst, die Nummer zu beschreiben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:18 Uhr.
Seite 1 von 4  1 23     Letzte »    

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