Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Очищает текущий объект Recordset и возвращает следующий набор записей путем перехода через ряд команд.
Синтаксис
Set recordset2 = recordset1.NextRecordset(RecordsAffected )
Возвращаемое значение
Возвращает объект Recordset . В модели синтаксиса recordset1 и recordset2 могут быть одинаковыми объектами Набора записей или использовать отдельные объекты. При использовании отдельных объектов набора записей сброс свойства ActiveConnection в исходном наборе записей (recordset1) после вызова NextRecordset приведет к возникновению ошибки.
Параметры
RecordsAffected
Необязательно.
Длинная переменная, в которую поставщик возвращает количество записей, затронутых текущей операцией.
Замечание
Этот параметр возвращает только количество записей, затронутых операцией; Он не возвращает количество записей из инструкции select, используемой для создания набора записей.
Замечания
Используйте метод NextRecordset , чтобы вернуть результаты следующей команды в составной инструкции команды или хранимой процедуры, возвращающей несколько результатов. При открытии объекта Recordset на основе составной инструкции команды (например, SELECT * FROM table1; SELECT * FROM table2") с помощью метода Execute в команде или методе Open в наборе записей ADO выполняет только первую команду и возвращает результаты в набор записей. Чтобы получить доступ к результатам последующих команд в инструкции, вызовите метод NextRecordset .
Если есть дополнительные результаты и набор записей , содержащий составные инструкции, не отключен или маршалирован по границам процесса, метод NextRecordset будет продолжать возвращать объекты Набора записей . Если команда, возвращающая строку, успешно выполняется, но не возвращает записей, возвращаемый объект Набора записей будет открыт, но пуст. Проверьте этот случай, убедившись, что свойства BOF и EOF имеют значение True. Если команда, не возвращающая строки, успешно выполняется, возвращенный объект Recordset будет закрыт, который можно проверить, проверив свойство State в наборе записей. Если нет дополнительных результатов, набор записей будет иметь значение Nothing.
Метод NextRecordset недоступен в отключенном объекте Recordset , где ActiveConnection имеет значение Nothing (в Microsoft Visual Basic) или NULL (на других языках).
Если изменение выполняется в режиме немедленного обновления, вызов метода NextRecordset создает ошибку; Сначала вызовите метод Update или CancelUpdate .
Чтобы передать параметры для нескольких команд в составной инструкции путем заполнения коллекции параметров или передачи массива с исходным вызовом Open или Execute , параметры должны находиться в том же порядке в коллекции или массиве, что и соответствующие команды в серии команд. Перед чтением значений выходных параметров необходимо завершить чтение всех результатов.
Поставщик OLE DB определяет, когда выполняется каждая команда в составной инструкции. Поставщик Microsoft OLE DB для SQL Server, например, выполняет все команды в пакете после получения составной инструкции. Полученные наборы записей просто возвращаются при вызове NextRecordset.
Однако другие поставщики могут выполнять следующую команду в инструкции только после вызова NextRecordset. Для этих поставщиков, если вы явно закрываете объект Recordset перед пошаговой обработкой всей инструкции команды, ADO никогда не выполняет оставшиеся команды.
Применимо к
См. также
Пример метода NextRecordset (VB)
Пример метода NextRecordset (VC++)