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


Метод Append (ADO)

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

Синтаксис

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

Параметры

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

Поля
Коллекция полей .

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

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

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

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

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

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

Замечания

Коллекция параметров

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

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

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

Коллекция полей

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

Замечание

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

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

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

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

Запись

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

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

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

Применимо к

См. также

Пример методов Append и CreateParameter (VB)
Пример методов Добавления и созданияParameter (VC++)
Метод CreateParameter (ADO)
метода удаления (коллекция полей ADO)
Метод удаления (коллекция параметров ADO)
метода удаления (набор записей ADO)
метода обновления