Datenbank Update-Anweisung löst eine "Exception" aus - Wieso?
-
Hallo Zusammen,
ich möchte in der OnDestroy Komponente meines Formulars folgenden Code ausführen:
AnsiString sql_insert; sql_insert = "update user set status = 'N' where username = 'micha'"; DataModule1->sql_user->SQL->Clear(); DataModule1->sql_user->SQL->Add(sql_insert); DataModule1->sql_user->Execute();Wenn ich jetzt das Formular schließe bekomme ich eine Meldung mit folgendem Inhalt:
Im Projekt test.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 00439468 in Modul 'text.exe'. Lesen von Adresse 00000288'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.Was kann das sein?? Darf ich im OnDestroy keine Datenbankabfrage mehr ausführen??
Danke im voraus
Gruß
EPMS
-
Ist das das Hauptformular? Wenn ja, ist wahrscheinlich das Datenmodul an dieser Stelle bereits gelöscht. Verschieb die Anweisung entweder in den Destruktor des Datenmoduls, oder in die OnCloseQuery des Forms.
-
Hallo Joe_M.,
habe die Anweisung jetzt in den Destruktor des Datenmoduls verschoben. Jetzt klappt es.
Ich danke dir.
Gruß
EPMS
-
Hallo nochmal Joe_M.,
gibt es für OnCloseQuery auch etwas gleiches für den Formular "start"?? Also was wie OnOpenQuery??
Gruß
EPMS
-
OnOpenQuery gibt es nicht. Du könntest ja OnShow dafür verwenden.