![]() |
DBgrid Fehlermeldung ersetzen
Hallo zusammen,
per Fremdschlüssel in der DB verhindere ich nun das Löschen im DBGrid eines betroffenen Datensatzes. Funktioniert wunderbar! Jetzt weiss ich aber nicht, wo ich die unschöne SQl-Fehlermeldung abfangen und durch eine eigene Meldung ersetzen kann? Danke für eure Hilfe |
AW: DBgrid Fehlermeldung ersetzen
Du müsstest doch eine Exception bekommen, die Du mit try-except behandeln könntest.
|
AW: DBgrid Fehlermeldung ersetzen
ja das denke ich auch, aber _wo_ fange ich diese ab?
im afterPost der query, oder wo sonst? |
AW: DBgrid Fehlermeldung ersetzen
Wie löschst Du den Datensatz? Per Query oder per Dataset.Post? Zumindest wäre das die richtige Stelle.
|
AW: DBgrid Fehlermeldung ersetzen
über den DBnavigator
dataset des datasource ist die Query ich müsste noch ne Ztable dazwischen hängen? |
AW: DBgrid Fehlermeldung ersetzen
*Öhm* *äh* den DBNavigator benutze ich nie, da müsste ich auch erst nachschauen, wo da die richtige Stelle ist, vermutlich aber ein Event des Datasets.
|
AW: DBgrid Fehlermeldung ersetzen
ja ich benutze das Ding auch zum ersten mal, dachte halt das ist einfacher :-)
Im bevorPost und im afterpost der query, die ja das dataset des datasource darstellt komm ich aber nicht vorbei, wenn ich über den Navigator lösche :-( die Exception-Meldung kommt woanders her :-( |
AW: DBgrid Fehlermeldung ersetzen
Du kommst an die Exception nicht so einfach dran, weil ein Mausclick-Event die Ursache für den Aufruf von [TDataset].Post war.
Die Exception schlägt dann innerhalb der
Delphi-Quellcode:
auf und wird dann mit HandleException weiterverarbeitet.
procedure TApplication.WndProc(var Message: TMessage)
Du könntest dich in Application.OnException einklinken aber dort kannst du nur global auf Exceptions reagieren. ==> es geht halt nicht |
AW: DBgrid Fehlermeldung ersetzen
@shima
ich danke dir. ich hab wohl geahnt, dass dieser navigator nicht das gelbe vom Ei ist :-( Muss der Anwender mit so einer für ihn unverständlichen fehlermeldung leben :-( |
AW: DBgrid Fehlermeldung ersetzen
Hi,
der DBNavigator lässt sich leider nicht überreden, die Standardaktionen auszuführen. Ich benutze ihn auch nicht. Aber die DB - Zugriffskomponenten haben doch meist ein Event OnPostError. Dort sollte man IMHO vernünftig eingreifen können. Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz