Announcement

Collapse
No announcement yet.

Fehler abfangen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehler abfangen

    <p>Hallo,</p><p>
    ich benutze D7, ADO und MSSQL.</p><p>

    Über den DBNavigator füge ich in ein DBGrid Daten ein und bestätige diese
    über den Navigator. Es kann dabei jedoch vorkommen, das ein Wert sich schon
    in der DB befindet (im DBGrid wird nur eine Abfrage aus der DB angezeigt).</p><p>

    Sollte der Fall eintreten, das der Schlüssel schon vergeben ist, so soll
    sich statt der Fehlermeldung ein Fenster öffnen, in dem der Datensatz,
    welcher schon vorhanden ist, angezeigt wird und somit auch geändert werden
    kann.</p><p>

    mfg<br>
    Brian</p>

  • #2
    Hi Brian,

    meine Pascalkenntnisse sind sehr bescheiden, aber im C++ würde ich das ganze in einer try catch(EDBEngineError &ErrorObjekt) abfangen. Sollte ein Indexfehler aufgetreten sein, mußt Du den ensprechenden Datensatz einlesen und vorzugsweise in einer neuer Maske zur Bearbeitung anbieten. Soll der Datensatz im Grid weiterbearbeitet werden, mußt Du die entsprechende Komponente schließen und den Select so anpassen, daß der zu bearbeitende Datensatz ebenfalls angezeigt wird und per Locate, nach dem (wieder) Öffnen der Komponente, auf diesen Datensatz positionieren.

    Wenn das Programm aus der IDE ausgeführt wird, wird grundsätzlich eine Fehlermeldung angezeigt und das Programm angehalten. In der 'endgültigen' Fassung ist das nicht so. Du solltest also auch einen entsprechenden Hinweis in dem Catch-Block ausgeben.

    Grüße Joche

    Comment

    Working...
    X