Hallöle,
grade habe ich es geschafft, dass in meiner
DB ein ID-Feld mittels Trigger und Generator gefüllt wird, da tauch ein neues Problem auf.
Ich kann keine Datensätze aus der
DB mit meiner Anwendung löschen.
Ich greife über ein DataSet auf die
DB zu. Wenn ich über ein Table zugreife, dann geht Löschen. Ich möchte aber über DataSet zugreifen, da ich die Daten in der Anzeige sortieren möchte.
Wenn ich den Datensatz im Grid gelöscht habe (zumindest visuell), wird der Post-Button des
DB-Navigator erst aktiv, wenn ich den Refresh-Button oder den Insert-Button gedrückt habe. Im Grid scheint der Datensatz dann gelöscht zu sein. Starte ich die Anwendung neu, ist der "gelöschte" Datensatz aber noch vorhanden.
Ich vermute, dass das Problem bei den
SQL-Anweisungen der DataSet-Komponente liegt.
Die Tabelle
Mitglieder der
DB hat folgende Felder:
Zitat:
MitgliedID, wird von Trigger gefüllt,
Name
Vorname
Anschrift
PLZ
Ort
Geburtsdatum
Eintrittsdatum
Austrittsdatum
Geburtsdatum
Telefon
Die
SQL-Anweisungen der DataSet-Komponente lauten:
SQL-Code:
delete from MITGLIEDER
where
MITGLIEDSID = :OLD_MITGLIEDSID and
NAME = :OLD_NAME and
VORNAME = :OLD_VORNAME and
ANSCHRIFT = :OLD_ANSCHRIFT and
PLZ = :OLD_PLZ and
ORT = :OLD_ORT and
GEBURTSDATUM = :OLD_GEBURTSDATUM and
EINTRITTSDATUM = :OLD_EINTRITTSDATUM and
AUSTRITTSDATUM = :OLD_AUSTRITTSDATUM and
TELEFON = :OLD_TELEFON
SQL-Code:
insert into MITGLIEDER
(NAME, VORNAME, ANSCHRIFT, PLZ, ORT, GEBURTSDATUM, EINTRITTSDATUM,
AUSTRITTSDATUM, TELEFON)
values
(:NAME, :VORNAME, :ANSCHRIFT, :PLZ, :ORT, :GEBURTSDATUM,
:EINTRITTSDATUM, :AUSTRITTSDATUM, :TELEFON)
SQL-Code:
update MITGLIEDER
set
NAME = :NAME,
VORNAME = :VORNAME,
ANSCHRIFT = :ANSCHRIFT,
PLZ = :PLZ,
ORT = :ORT,
GEBURTSDATUM = :GEBURTSDATUM,
EINTRITTSDATUM = :EINTRITTSDATUM,
AUSTRITTSDATUM = :AUSTRITTSDATUM,
TELEFON = :TELEFON
where
NAME = :OLD_NAME and
VORNAME = :OLD_VORNAME and
ANSCHRIFT = :OLD_ANSCHRIFT and
PLZ = :OLD_PLZ and
ORT = :OLD_ORT and
GEBURTSDATUM = :OLD_GEBURTSDATUM and
EINTRITTSDATUM = :OLD_EINTRITTSDATUM and
AUSTRITTSDATUM = :OLD_AUSTRITTSDATUM and
TELEFON = :OLD_TELEFON
SQL-Code:
Select
NAME,
VORNAME,
ANSCHRIFT,
PLZ,
ORT,
GEBURTSDATUM,
EINTRITTSDATUM,
AUSTRITTSDATUM,
TELEFON
from MITGLIEDER
where
NAME = :NAME and
VORNAME = :VORNAME and
ANSCHRIFT = :ANSCHRIFT and
PLZ = :PLZ and
ORT = :ORT and
GEBURTSDATUM = :GEBURTSDATUM and
EINTRITTSDATUM = :EINTRITTSDATUM and
AUSTRITTSDATUM = :AUSTRITTSDATUM and
TELEFON = :TELEFON
select * from MITGLIEDER
Wo ist mein Fehler????
Es gibt keine dummen Fragen ...