Метод Append (ADO)

Добавляет объект в коллекцию. Если коллекция имеет значение Fields, можно создать новый объект Field перед его добавлением в коллекцию.

Синтаксис

  
collection.Append object  
fields.Append Name, Type, DefinedSize, Attrib, FieldValue  

Параметры

Коллекции
Объект коллекции.

поля
Коллекция Fields .

object
Объектная переменная, представляющая добавляемый объект.

имя;
Строковое значение, содержащее имя нового объекта Field и не должно совпадать с именем любого другого объекта в полях.

Тип
Значение DataTypeEnum , значение по умолчанию которого — adEmpty, указывающее тип данных нового поля. Следующие типы данных не поддерживаются ADO и не должны использоваться при добавлении новых полей в объект Recordset (ADO):adIDispatch, adIUnknown, adVariant.

DefinedSize
Необязательный элемент. Значение типа Long , представляющее определенный размер (в символах или байтах) нового поля. Значение по умолчанию для этого параметра является производным от Типа. Поля с definedSize больше 255 байт обрабатываются как столбцы переменной длины. Значение по умолчанию для DefinedSize не указано.

Attrib
Необязательный элемент. Значение FieldAttributeEnum , значение по умолчанию которого — adFldDefault, указывающее атрибуты для нового поля. Если это значение не указано, поле будет содержать атрибуты, производные от Type.

FieldValue
Необязательный элемент. Объект Variant, представляющий значение для нового поля. Если значение не указано, поле добавляется со значением NULL.

Комментарии

Коллекция Parameters

Перед добавлением его в коллекцию Parameters необходимо задать свойство Type объекта Parameter. При выборе типа данных переменной длины необходимо также задать для свойства Size значение больше нуля.

Самостоятельное описание параметров сводит к минимуму вызовы к поставщику и, следовательно, повышает производительность при использовании хранимых процедур или параметризованных запросов. Однако необходимо знать свойства параметров, связанных с хранимой процедурой или параметризованным запросом, который требуется вызвать.

Используйте метод CreateParameter для создания объектов Parameter с соответствующими параметрами свойств и с помощью метода Append , чтобы добавить их в коллекцию Parameters . Это позволяет задавать и возвращать значения параметров без необходимости вызова поставщика для получения сведений о параметрах. При записи в поставщик, который не предоставляет сведения о параметрах, этот метод необходимо использовать для ручного заполнения коллекции Parameters , чтобы использовать параметры.

Коллекция Fields

Параметр FieldValue допустим только при добавлении объекта Field в объект Record , а не в объект Recordset . С помощью объекта Record можно одновременно добавлять поля и предоставлять значения. При использовании объекта Recordset необходимо создать поля во время закрытия набора записей , а затем открыть набор записей и присвоить значения полям.

Примечание

Для новых объектов Field , добавленных в коллекцию Fields объекта Record , необходимо задать свойство Value перед указанием других свойств Field . Во-первых, необходимо назначить определенное значение для свойства Value и обновить для коллекции Fields . Затем можно получить доступ к другим свойствам, таким как Тип или Атрибуты . Объекты Field следующих типов данных (DataTypeEnum) не могут быть добавлены в коллекцию Fields и вызовут ошибку: adArray, adChapter, adEmpty, adPropVariant и adUserDefined. Кроме того, ADO не поддерживает следующие типы данных: adIDispatch, adIUnknown и adIVariant. Для этих типов ошибки при добавлении не возникают, но использование может привести к непредсказуемым результатам, включая утечки памяти.

набор записей

Если вы не задали свойство CursorLocation перед вызовом метода Append, при вызове метода Open объекта Recordset cursorLocation будет автоматически задано значение adUseClient (значение CursorLocationEnum).

Ошибка во время выполнения возникает, если метод Append вызывается в коллекции Fields открытого набора записей или в наборе Recordset , где задано свойство ActiveConnection . Поля можно добавлять только в набор записей , который не открыт и еще не подключен к источнику данных. Обычно это происходит, когда объект Recordset создается с помощью метода CreateRecordset или назначается переменной объекта.

Record

Ошибка во время выполнения не возникнет, если метод Append вызывается для коллекции Fields открытой записи. Новое поле будет добавлено в коллекцию Fields объекта Record . Если элемент Record был производным от объекта Recordset, новое поле не будет отображаться в коллекции Fields объекта Recordset .

Несуществующее поле можно создать и добавить в коллекцию Fields , назначив значение объекту поля, как если бы оно уже существовало в коллекции. Назначение активирует автоматическое создание и добавление объекта Field , а затем назначение будет завершено.

После добавления поля в коллекцию Fields объекта Record вызовите метод Update коллекции Fields , чтобы сохранить изменения.

Применение

См. также:

Примеры методов Append и CreateParameter (Visual Basic)
Примеры методов Append и CreateParameter (VC++)
Метод CreateParameter (ADO)
Метод Delete (коллекция Fields ADO)
Метод Delete (коллекция Parameters ADO)
Метод Delete (объект Recordset ADO)
Метод Update