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


SQLRowCount

Если для выполнения инструкции привязаны массивы значений параметров, то функция SQLRowCount возвращает значение SQL_ERROR, если любое из значений параметров создаст ошибочное условие при выполнении инструкции. Через аргумент RowCountPtr функции значение возвращено не будет.

Приложение может воспользоваться атрибутом инструкции SQL_ATTR_PARAMS_PROCESSED_PTR для получения количества параметров, обработанных до возникновения ошибки.

Кроме этого, приложение может использовать массив значений состояния, привязанный с помощью атрибута инструкции SQL_ATTR_PARAM_STATUS_PTR, для получения массива смещений вызвавших ошибку строк параметров. Чтобы выяснить действительное число обработанных строк, приложение может просмотреть этот массив.

При выполнении инструкции Transact-SQL INSERT, UPDATE, DELETE или MERGE с предложением OUTPUT функция SQLRowCount не возвращает число обработанных строк до тех пор, пока не будут обработаны все строки в результирующем наборе, сформированном предложением OUTPUT. Доступ к этим строкам осуществляется вызовом функции SQLFetch или SQLFetchScroll. Функция SQLResultCols возвращает значение -1 до тех пор, пока не будут обработаны все результирующие строки. После того как функция SQLFetch или SQLFetchScroll вернула значение SQL_NO_DATA, приложение должно вызвать функцию SQLRowCount, чтобы определить число обработанных строк, а затем — функцию SQLMoreResults, чтобы перейти к следующему результату.

См. также

Основные понятия

Подробности реализации API-интерфейса ODBC

Другие ресурсы

Функция SQLRowCount