The cursor library does not support calling SQLCloseCursor without an open cursor. Attempting this will return SQLSTATE 24000 (Invalid cursor state). Calling SQLFreeStmt with an Option of SQL_CLOSE when no cursor is open is supported by the cursor library.