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