[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2002
    Beiträge
    5.416
    Zitat Zitat von B.Hauser Beitrag anzeigen
    Das musst Du mir mal zeigen wo der Fehlertext in der SQLCA stehen soll.
    Ich habe bislang noch keinen gefunden. In SQLERM stehen zwar die Variablen Message-Texte aber ohne die eigentliche Message, die man sich mühsam aus der Mesage-File QSQLMSG und dem SQL Code ermitteln muss bringt das nichts.
    GET DIAGNOSTICS bringt den kompletten Message-Text incl. der eingesetzten variablen Message-Texte.
    Mit Deiner Lösung hebelst Du das komplette Fehlerhandling!

    Außerdem sollte man niemals im DOW oder DOU den SQLCode abfragen und schon gar nicht auf 0.
    Weitere SQL-Statements könnten innerhalb der Verarbeitungsschleife ausgeführt werden, die ihrerseits den SQLCODE (und SQLSTATUS) setzten. Eine dieser SQL Abfragen könnte z.B. den SQLCODE 100 zurückbringen und dann schaut man bedeppert, weil die Verarbeitung mittendrin beendet ist.

    Auch sollte man nie den SQLCODE nie direkt auf 0 abfragen sondern immer auf 100 oder < 0. Es gibt situationen in denen eine Warnung ausgegeben wird, die aber für die Verarbeitung als solche uninteressant ist. Bei einer Warnung wird ein positiver SQLCODE (<> 100) ausgegeben. Eine solche Warnung würde dann auch wieder bewirken, dass nur die Hälfte abgearbeitet wird.

    Sofern man lieber den SQLSTATE prüft, sollte man die ersten beiden Ziffern (Status Gruppe) vorrangig prüfen:
    00 = Alles Okay
    01 = Warnung
    02 = nicht gefunden
    Alles andere ist Fehler

    Man kann sich natürlich eine generische Fehlerbehandlung bauen, die nach jedem SQL-Statement aufgerufen wird. Dadurch spart man sich eine Menge Kopiererei und ggf. auch eine Menge Wartungsaufwand.

    Birgitta
    ... was soll denn diese Klugscheißerei? Foren leben davon, dass nette Menschen wie Baldur Arbeitshinweise geben, mit denen Fragende weiter arbeiten können. Produktionsreifer Code erfordert selbstredend ein wenig mehr Aufwand. Wenn Du Baldur schlicht nicht leiden kannst, setz ihn auf die Ignore Liste oder schick ihm eine grobe PM oder beiß in die Schreibtischkante, je nach Präferenz.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  2. #2
    Registriert seit
    May 2002
    Beiträge
    1.124
    Ich hoffe DCDEAL wird nicht gleich verschreckt...

    ist doch öffters so. 3 Programmierer --> 5 Lösungen

    Bitte die Kanonen wieder einfahren

    Gruß
    Ronald

  3. #3
    Registriert seit
    May 2018
    Beiträge
    6
    Alles kein Problem!!! Grüsse an Fr. Hauser, ich war vor kurzem noch bei der POW3R, super SQL Vortrag.
    Grüsse an alle.

Similar Threads

  1. Antworten: 6
    Letzter Beitrag: 26-01-17, 13:50
  2. LF auf QSYS2/VIEWS und COLUMNS verschwindet spurlos
    By Hrs28 in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 30-03-15, 01:22
  3. SQL-Joins
    By KM in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 07-02-14, 12:47
  4. Free RPG??
    By DEVJO in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 05-03-03, 08:18
  5. Table QSQPTABL in QSYS2
    By KB in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 18-06-01, 08:35

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •