Метод Delete (объект Recordset ADO)
Удаляет текущую запись или группу записей.
Синтаксис
recordset.Delete AffectRecords
Параметры
AffectRecords
Значение AffectEnum , определяющее, сколько записей повлияет метод Delete . Значение по умолчанию — adAffectCurrent.
Примечание
adAffectAll и adAffectAllChapters не являются допустимыми аргументами delete.
Комментарии
С помощью метода Delete помечает текущую запись или группу записей в объекте Recordset для удаления. Если объект Recordset не разрешает удаление записей, возникает ошибка. Если вы находитесь в режиме немедленного обновления, удаление происходит в базе данных немедленно. Если запись не может быть успешно удалена (например, из-за нарушения целостности базы данных), запись останется в режиме редактирования после вызова Update. Это означает, что необходимо отменить обновление с помощью cancelUpdate перед удалением текущей записи (например, с помощью команды Close, Move или NextRecordset).
Если вы находитесь в режиме пакетного обновления, записи помечаются для удаления из кэша, а фактическое удаление происходит при вызове метода UpdateBatch . Используйте свойство Filter для просмотра удаленных записей.
Получение значений полей из удаленной записи приводит к ошибке. После удаления текущей записи удаленная запись остается текущей, пока вы не перейдете к другой записи. После удаления удаленной записи она становится недоступной.
При вложении удалений в транзакцию можно восстановить удаленные записи с помощью метода RollbackTrans . Если вы находитесь в режиме пакетного обновления, вы можете отменить ожидающее удаление или группу ожидающих удаления с помощью метода CancelBatch .
Если попытка удалить записи завершается сбоем из-за конфликта с базовыми данными (например, запись уже удалена другим пользователем), поставщик возвращает предупреждения в коллекцию Ошибок , но не останавливает выполнение программы. Ошибка во время выполнения возникает только при наличии конфликтов во всех запрошенных записях.
Если задано динамическое свойство Unique Table , а recordset является результатом выполнения операции JOIN с несколькими таблицами, метод Delete удалит только строки из таблицы с именем в свойстве Unique Table .
Применение
См. также:
Пример метода Delete (Visual Basic)
Пример метода Delete (VBScript)
Пример метода Delete (Visual C++)
Метод Delete (коллекция Fields ADO)
Метод Delete (коллекция Parameters ADO)
Метод DeleteRecord (ADO)