Autor Beitrag
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Fr 12.09.03 00:38 
Moin,
ich hab ein kurioses Problem:
Ich habe 2 Tabellen, einmal Projekte und einmal Possets, in dieser werden Position-Sets gespeichert, also Artikel-Gruppen für Angebote, Rechnungen usw.:

Projekte
=====
PNR integer (Primärschlüssel)
ANR integer (Fremdschlüssel für Adresse)
Datum date

Possets
======
POSSET_ID integer (Primärschlüssel)
PROJEKT integer (Fremdschlüssel af PNR in Projekte)
usw....

Ich versuche jetzt die ganze Zeit einen Datensatz in possets zu schreiben, egal auf welche Art, ich bekomme immer den Fehler
"violation of FOREIGN KEY constraint "".
violation of FOREIGN KEY constraint "FK_POSSETS" on table "POSSETS"."
in IBExpert. Habs auch schon in der IBConsole versucht, selber Fehler.
In Projekte existiert aber ein Datensatz mit der PNR-ID, die ich in POSSETS als PROJEKT-Nr angegeben habe, committed ist dieser auch schon längst.

In Possets und Projekte hängen noch BEFORE-INSERT-Trigger, die ich hier nur der Vollständigkeit halber poste, sie dürften nicht der Fehler sein:
ausblenden Quelltext
1:
2:
3:
4:
5:
AS
BEGIN
  IF (NEW.POSSET_ID IS NULL) THEN
    NEW.POSSET_ID = GEN_ID(GEN_POSSETS_ID,1);
END

entsprechendes für Projekte

Hat jmd schonmal so ein Problem gehabt und kennt die Lösung?
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Fr 12.09.03 02:56 
hallo,

hatte so ein ähnliches problem schon mal. Schau mal, wo dein generator steht und welcher wert als höchster für posset_id vergeben wurde.

Gruß
Ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
JoelH
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 806
Erhaltene Danke: 17

Win10
Delphi Alexandria 11.2 Patch 1
BeitragVerfasst: Fr 12.09.03 05:30 
Titel: hmm,
könnte es sein das du immer die gleiche Schlüsslkombi generierst und dadurch der Constraint reinhaut weil diese Schlüsselkombination schon vorhanden ist in der POSSET Tabelle ?

_________________
mfg. Joel
UGrohne Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Fr 12.09.03 10:03 
Leute, ich muss Euch leider beide enttäuschen. Die Tabelle possets ist absolut leer, ich kann ja bisher keinen einzigen Datensatz posten, der Zähler steht immer noch auf 0, es sind aber alle Integer zugelassen.