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


Метод Close (ADO)

Область применения: Access 2013, Office 2013

Закрывает открытый объект и все зависимые объекты.

Синтаксис

object.Close

Замечания

Используйте метод Close, чтобы закрыть объект Connection, Record, Recordset или Stream, чтобы освободить все связанные системные ресурсы. Закрытие объекта не удаляет его из памяти; Вы можете изменить его параметры свойств и открыть его снова позже. Чтобы полностью исключить объект из памяти, установите для переменной объекта значение Nothing (в Visual Basic) после закрытия объекта.

Connection

При использовании метода Close для закрытия объекта Connection также закрываются все активные объекты Recordset, связанные с подключением. Объект Command, связанный с закрывающим объектом Connection , сохранится, но он больше не будет связан с объектом Connection ; то есть его свойству ActiveConnection будет присвоено значение Nothing. Кроме того, коллекция параметров объекта Command будет очищена от всех параметров, определенных поставщиком.

Позже можно вызвать метод Open , чтобы восстановить подключение к тому же или другому источнику данных. Пока объект Connection закрыт, вызов любых методов, требующих открытого подключения к источнику данных, приводит к ошибке.

При закрытии объекта Connection при наличии открытых объектов Recordset в соединении выполняется откат всех ожидающих изменений во всех объектах Recordset . Явное закрытие объекта Connection (вызов метода Close ) во время выполнения транзакции приводит к ошибке. Если объект Connection выходит из область во время выполнения транзакции, ADO автоматически откатит транзакцию.

Набор записей, запись, Stream

Использование метода Close для закрытия объекта Recordset, Record или Stream освобождает связанные данные и любой эксклюзивный доступ к данным через этот конкретный объект. Позже можно вызвать метод Open , чтобы повторно открыть объект с теми же или измененными атрибутами.

Пока объект Recordset закрыт, вызов любых методов, для которых требуется динамический курсор, приводит к ошибке.

Если изменение выполняется в режиме немедленного обновления, вызов метода Close приводит к ошибке. Вместо этого сначала вызовите метод Update или CancelUpdate . Если закрыть объект Recordset в режиме пакетного обновления, все изменения, внесенные с момента последнего вызова UpdateBatch , будут потеряны.

Если вы используете метод Clone для создания копий открытого объекта Recordset , закрытие исходного объекта или клона не повлияет ни на одну из других копий.