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


Метод 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 .

Применение

Объект Recordset (ADO)

См. также:

Пример метода Delete (Visual Basic)
Пример метода Delete (VBScript)
Пример метода Delete (Visual C++)
Метод Delete (коллекция Fields ADO)
Метод Delete (коллекция Parameters ADO)
Метод DeleteRecord (ADO)