다음을 통해 공유


Append 메서드(ADO)

컬렉션에 개체를 추가합니다. 컬렉션이 Fields이면 컬렉션에 추가되기 전에 새 Field 개체를 만들 수 있습니다.

구문

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

매개 변수

컬렉션
컬렉션 개체입니다.

필드
Fields 컬렉션입니다.

object
추가할 개체를 나타내는 개체 변수입니다.

이름
Field 개체의 이름을 포함하고 필드의 다른 개체와 이름이 같으면 안 되는 String 값입니다.

형식
새 필드의 데이터 형식을 지정하는 기본값이 adEmptyDataTypeEnum 값입니다. ADO에서 지원되지 않는 다음 데이터 형식은 Recordset Object(ADO)(adIDispatch, adIUnknown, adVariant)에 새 필드를 추가할 때 사용되지 않아야 합니다.

DefinedSize
(선택 사항) 새 필드의 정의된 크기(문자 또는 바이트)를 나타내는 Long 값입니다. 이 매개 변수의 기본값은 Type에서 파생됩니다. DefinedSize가 255바이트보다 큰 필드는 가변 길이 열로 처리됩니다. DefinedSize의 기본값은 지정되지 않았습니다.

Attrib
(선택 사항) 새 필드의 특성을 지정하는 기본값이 adFldDefaultFieldAttributeEnum 값입니다. 이 값을 지정하지 않으면 필드에 Type에서 파생된 특성이 포함됩니다.

FieldValue
(선택 사항) 새 필드의 값을 나타내는 Variant입니다. 지정하지 않으면 필드에 null 값이 추가됩니다.

설명

Parameters 컬렉션

Parameters 컬렉션에 추가하기 전에 Parameter 개체의 Type 속성을 설정해야 합니다. 가변 길이 데이터 형식을 선택하는 경우 Size 속성도 0보다 큰 값으로 설정해야 합니다.

매개 변수를 직접 설명하면 공급자에 대한 호출이 최소화되므로 저장 프로시저 또는 매개 변수가 있는 쿼리를 사용할 때 성능이 향상됩니다. 그러나 호출하려는 저장 프로시저 또는 매개 변수가 있는 쿼리와 연결된 매개 변수의 속성을 알고 있어야 합니다.

CreateParameter 메서드를 사용하여 적절한 속성 설정으로 Parameter 개체를 만들고 Append 메서드를 사용하여 Parameters 컬렉션에 추가합니다. 이렇게 하면 매개 변수 정보에 대한 공급자를 호출하지 않고도 매개 변수 값을 설정하고 반환할 수 있습니다. 매개 변수 정보를 제공하지 않는 공급자에게 작성하는 경우 매개 변수를 사용하려면 이 메서드를 사용하여 Parameters 컬렉션을 수동으로 채워야 합니다.

Fields 컬렉션

FieldValue 매개 변수는 Recordset 개체가 아닌 Record 개체에 Field 개체를 추가할 때만 유효합니다. Record 개체를 사용하면 필드를 추가하고 동시에 값을 제공할 수 있습니다. Recordset 개체를 사용하면 Recordset가 닫혀 있는 동안 필드를 만든 다음, Recordset을 열고 필드에 값을 할당해야 합니다.

참고

Record 개체의 Fields 컬렉션에 추가된 새 Field 개체의 경우 다른 Field 속성을 지정하려면 먼저 Value 속성을 설정해야 합니다. 먼저 Value 속성에 대한 특정 값이 할당되고 Fields 컬렉션의 Update가 호출되어야 합니다. 그런 다음, Type 또는 Attributes와 같은 다른 속성에 액세스할 수 있습니다. Fields 컬렉션에 다음 데이터 형식(DataTypeEnum)의 Field 개체를 추가할 수 없으며 adArray, adChapter, adEmpty, adPropVariant, adUserDefined와 같은 오류가 발생합니다. 또한 ADO에서 지원되지 않는 데이터 형식은 adIDispatch, adIUnknown, adIVariant입니다. 이러한 형식의 경우 추가 시 오류가 발생하지 않지만 사용량은 메모리 누수 등 예측할 수 없는 결과를 생성할 수 있습니다.

레코드 집합

Append 메서드를 호출하기 전에 CursorLocation 속성을 설정하지 않으면 Recordset 개체의 Open 메서드가 호출될 때 CursorLocationadUseClient(CursorLocationEnum 값)로 자동으로 설정됩니다.

열려 있는 RecordsetFields 컬렉션 또는 ActiveConnection 속성이 설정된 Recordset에서 Append 메서드를 호출하면 런타임 오류가 발생합니다. 열려 있지 않고 아직 데이터 원본에 연결되지 않은 Recordset에만 필드를 추가할 수 있습니다. 이는 일반적으로 Recordset 개체가 CreateRecordset 메서드로 제작되거나 개체 변수에 할당되는 경우입니다.

레코드

열려 있는 RecordFields 컬렉션에서 Append 메서드를 호출하면 런타임 오류가 발생하지 않습니다. 새 필드가 Record 개체의 Fields 컬렉션에 추가됩니다. RecordRecordset에서 파생된 경우 새 필드는 Recordset 개체의 Fields 컬렉션에 표시되지 않습니다.

컬렉션에 이미 있는 것처럼 필드 개체에 값을 할당하여 존재하지 않는 필드를 만들고 Fields 컬렉션에 추가할 수 있습니다. 할당은 Field 개체의 자동 생성 및 추가를 트리거한 다음, 할당이 완료됩니다.

Record 개체의 Fields 컬렉션에 Field를 추가한 후 Fields 컬렉션의 Update 메서드를 호출하여 변경 사항을 저장합니다.

적용 대상

참고 항목

Append 및 CreateParameter 메서드 예제(VB)
Append 및 CreateParameter 메서드 예제(VC++)
CreateParameter 메서드(ADO)
Delete 메서드(ADO 필드 컬렉션)
Delete 메서드(ADO 매개 변수 컬렉션)
Delete 메서드(ADO 레코드 집합)
Update 메서드