다음을 통해 공유


Append 메서드(ADO)

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

문법

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

매개 변수

모음
컬렉션 개체입니다.

필드
Fields 컬렉션입니다.

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

이름
Field 개체의 이름을 포함하고 필드의 다른 개체와 같은 이름이 아니어야 하는 String입니다.

유형
새 필드의 데이터 형식을 지정하는 기본값이 adEmptyDataTypeEnum 값입니다. 다음 데이터 형식은 ADO에서 지원되지 않으며 ADO(Recordset 개체)에 새 필드를 추가할 때 사용하면 안 됩니다. adIDispatch, adIUnknown, adVariant.

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

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

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

비고

Parameters 컬렉션

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

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

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

Fields 컬렉션

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

비고

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

레코드 집합

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

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

녹음

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

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

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

적용 대상

또한 참조하십시오

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