[NEWSboard IBMi Forum]

Thema: SQL0811

Hybrid View

  1. #1
    Registriert seit
    Apr 2012
    Beiträge
    360
    Aber wie kann vorher schon prüfen/abfangen ob der Sqlfehler auftritt?
    Wie ist da so die Vorgehensweise?

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.943
    Zitat Zitat von tarkusch Beitrag anzeigen
    Aber wie kann vorher schon prüfen/abfangen ob der Sqlfehler auftritt?
    Wie ist da so die Vorgehensweise?
    Du prüfst nicht vorher oder hinterher.
    Sofern mehrere Datensätze zurückkommen können und Du z.B. nur wissen willst ob mindestens ein Datensatz vorhanden ist, musst Du, wie Baldur vorgeschlagen hat einfach FETCH 1 ROW ONLY hinzufügen und schon wird entweder kein oder genau 1 Datensatz ausgegeben:

    Code:
     /Free
      Clear isFound;
      Exec SQL   
         Select 1 into :isFound
            From AuftrPos
            where AutrNr = :HstAuftrag
                  and Status < 70
         Fetch First Row Only;
         If SQLCODE < *Zeros and SQLCODE <> -811;
            //Fehler
         ElseIf SQLCODE = 100 or isFound = *Zeros;
            //Kein Satz gefunden
         Else;
            //Satz vorhanden
         Endif;
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Berechtigungen

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