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


Массив статусов строк

Помимо данных, SQLFetch и SQLFetchScroll могут возвращать массив, который дает состояние каждой строки в наборе строк. Этот массив указывается с помощью атрибута инструкции SQL_ATTR_ROW_STATUS_PTR. Этот массив выделяется приложением и должен содержать столько элементов, сколько указано атрибутом инструкции SQL_ATTR_ROW_ARRAY_SIZE. Значения в массиве задаются SQLBulkOperations, SQLFetch, SQLFetchScroll и SQLSetPos. Значения описывают состояние строки и указывает, изменилось ли это состояние с момента последнего получения.

Значение массива состояния строк Description
SQL_ROW_SUCCESS Строка успешно извлекалась и не изменилась с момента последнего получения.
SQL_ROW_SUCCESS_WITH_INFO Строка успешно извлекалась и не изменилась с момента последнего получения. Однако предупреждение было возвращено о строке.
SQL_ROW_ERROR Произошла ошибка при выборе строки.
SQL_ROW_UPDATED Строка успешно извлекалась и была обновлена с момента последнего получения. Если строка снова извлекается или обновляется SQLSetPos, его состояние изменяется на новое состояние.

Некоторые драйверы не могут обнаруживать изменения данных и поэтому не могут возвращать это значение. Чтобы определить, может ли драйвер обнаруживать обновления для ссылок на строки, приложение вызывает SQLGetInfo с параметром SQL_ROW_UPDATES.
SQL_ROW_DELETED Строка была удалена с момента последнего получения.
SQL_ROW_ADDED Строка была вставлена SQLBulkOperations. Если строка снова извлекается или обновляется SQLSetPos, его состояние SQL_ROW_SUCCESS.

Это значение не задано SQLFetch или SQLFetchScroll.
SQL_ROW_NOROW Набор строк перекрывал конец результирующий набор, и строка не была возвращена, соответствующая этому элементу массива состояния строки.