Einzelnen Beitrag anzeigen

BlueStarHH
Online

Registriert seit: 28. Mär 2005
Ort: Hannover-Hainholz
801 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Firebird: Datensatz wird nicht gefunden, obwohl er da ist

  Alt 28. Mär 2018, 14:00
Bitte DDL hier posten.

Sonst kann man nur raten, was die Ursache sein kann.
SQL-Code:
CREATE TABLE Kunden (
    KdNr VARCHAR(15) CHARACTER SET ASCII NOT NULL,
    ...
)
ALTER TABLE Kunden ADD CONSTRAINT PK_Kunden PRIMARY KEY (KdNr);
   
   
CREATE TABLE Rechnungen (
    KdNr VARCHAR(15) CHARACTER SET ASCII NOT NULL,
    RgNr VARCHAR(25) CHARACTER SET ASCII NOT NULL,
    ErsetztRgNr VARCHAR(25) CHARACTER SET ASCII,
    ...
)
ALTER TABLE Rechnungen ADD CONSTRAINT PK_Rechnungen PRIMARY KEY (RgNr);
ALTER TABLE Rechnungen ADD CONSTRAINT FK_Rechnungen_1 FOREIGN KEY (ErsetztRgNr) REFERENCES Rechnungen (RgNr);
ALTER TABLE Rechnungen ADD CONSTRAINT FK_Rechnungen_2 FOREIGN KEY (KdNr) REFERENCES Kunden (KdNr) ON DELETE CASCADE ON UPDATE CASCADE;


CREATE TABLE Notizen (
    NotizNr INTEGER NOT NULL,
    RgNr VARCHAR(25) CHARACTER SET ASCII,
    NOTIZ BLOB SUB_TYPE 1 SEGMENT SIZE 80
    ...
);
ALTER TABLE Notizen ADD CONSTRAINT PK_Notizen PRIMARY KEY (NotizNr);
ALTER TABLE Notizen ADD CONSTRAINT FK_Notizen_1 FOREIGN KEY (RgNr) REFERENCES Rechnungen (RgNr) ON DELETE CASCADE ON UPDATE CASCADE;
Was gibt

Code:
select * from Rechnungen where RgNr = 4
zurück?
Das zeigt jetzt die Rechnung 4. Zum Zeitpunkt des Fehlers habe ich das nicht abgefragt. Die Rechnung 4 wurde aber im DB Grid zum Fehlerzeitpunkt angezeigt. Auch hier nochmal der Hinweis: Es handelt sich bei dem Fehler um 2 Rechnungen (4 und 5) die nichts miteinander zu tun haben und die auch nicht wechselseitig von den Benutzern bearbeitet wurden. Je der Benutzer hat ausschließlich mit 4 oder 5 gearbeitet.
  Mit Zitat antworten Zitat