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


Метод Close (ADO)

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

Синтаксис

  
object.Close  

Remarks

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

Подключение

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

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

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

Recordset, Record, Stream

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

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

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

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

Применение

См. также:

Примеры методов Open и Close (Visual Basic)
Примеры методов Open и Close (VBScript)
Примеры методов Open и Close (Visual C++)
Метод Open (объект Connection ADO)
Метод Open (объект Recordset ADO)
Метод Save