Informix Error -6020: There is no current row.
Cause and resolution
There is no current row.
The dbdel() and dbupd() functions operate on the row last chosen using dbfind(). Review the program logic to see that dbfind() is called to establish a row. If the call was to dbfind() itself, it was passed a flag such as CURRENT, which assumes that a row had been selected in a prior call, but none had been selected.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-6020 fires when dbdel() or dbupd() is called with no row established by a prior dbfind()
— per the archived catalogue, both functions operate on the row last chosen via dbfind().
- No prior
dbfind()call establishing a current row, per the archived catalogue. dbfind()itself called with a flag like CURRENT, per the archived catalogue, which assumes a row was already selected when none had been.
Solutions / Resolution
- Call
dbfind()to establish a current row before callingdbdel()/dbupd(), per the archived catalogue.
Examples
N/A
No specific triggering statement is documented beyond the function-level condition described above.
Diagnostic Checks
- Confirm a prior
dbfind()call actually succeeded in establishing a current row.
Related Errors / Related Topics
- -6035 — "No current row."
Establish a current row with dbfind() before calling dbdel()/dbupd().