Поделиться через


Количество извлекаемых строк и состояние

Если атрибут инструкции SQL_ATTR_ROWS_FETCHED_PTR задан, он задает буфер, возвращающий количество строк, извлекаемых вызовом SQLFetch или SQLFetchScroll, и строками ошибок. (Это число представляет собой число всех строк, которые не имеют состояния SQL_ROW_NO_ROWS.) После вызова SQLBulkOperations или SQLSetPos буфер содержит количество строк, затронутых массовой операцией, выполняемой функцией. Если атрибут инструкции SQL_ATTR_ROW_STATUS_PTR задан, SQLFetch или SQLFetchScroll возвращает массив состояния строки, предоставляющий состояние каждой возвращаемой строки. Оба буфера, на которые указывают эти поля, выделяются приложением и заполняются драйвером. Приложение должно убедиться, что эти указатели остаются действительными, пока курсор не будет закрыт.

Записи в массиве состояния строк указывают, была ли каждая строка успешно извлечена, обновлена, добавлена или удалена с момента последнего извлечения, и произошла ли ошибка при извлечении строки. Если SQLFetch или SQLFetchScroll сталкивается с ошибкой при получении одной строки из многострочного набора строк, или если SQLBulkOperations с аргументом Operation SQL_FETCH_BY_BOOKMARK обнаруживает ошибку при выполнении массового получения, он задает соответствующее значение в массиве состояния строки на SQL_ROW_ERROR, продолжает получать строки и возвращает SQL_SUCCESS_WITH_INFO. Дополнительные сведения об обработке ошибок и массиве состояния строк см. в описаниях функций SQLFetch и SQLFetchScroll .