다음을 통해 공유


AddNew 메서드(ADO)

Recordset 개체에 대한 새 레코드를 만듭니다.

통사론

  
recordset.AddNew FieldList, Values  

매개 변수

레코드 집합
Recordset 개체입니다.

fieldList
선택적. 단일 이름 또는 새 레코드에 있는 필드의 이름 또는 서수 위치 배열입니다.


선택적. 단일 값 또는 새 레코드의 필드에 대한 값 배열입니다. Fieldlist 배열인 경우 멤버 수가 동일한 배열이어야 합니다. 그렇지 않으면 오류가 발생합니다. 필드 이름의 순서는 각 배열의 필드 값 순서와 일치해야 합니다.

발언

AddNew 메서드를 사용하여 새 레코드를 만들고 초기화합니다. adAddNew(CursorOptionEnum 값)와 함께 Supports 메서드를 사용하여 현재 Recordset 개체에 레코드를 추가할 수 있는지 확인합니다.

AddNew 메서드를 호출하면 새 레코드가 현재 레코드가 되고 Update 메서드를 호출한 후 현재 레코드로 유지됩니다. 새 레코드가 Recordset추가되므로 업데이트 후 MoveNext 대한 호출이 Recordset끝을 지나서 이동하여 EOF True로 만듭니다. Recordset 개체가 책갈피를 지원하지 않는 경우 다른 레코드로 이동하면 새 레코드에 액세스하지 못할 수 있습니다. 커서 유형에 따라 Requery 메서드를 호출하여 새 레코드에 액세스할 수 있도록 해야 할 수 있습니다.

현재 레코드를 편집하는 동안 또는 새 레코드를 추가하는 동안 AddNew 호출하는 경우 ADO는 Update 메서드를 호출하여 변경 내용을 저장한 다음 새 레코드를 만듭니다.

AddNew 메서드의 동작은 Recordset 개체의 업데이트 모드와 Fieldlist 전달하고 값 인수를 여부에 따라 달라집니다.

즉시 업데이트 모드(Update 메서드를 호출하면 공급자가 기본 데이터 원본에 대한 변경 내용을 작성하는 경우) 인수 없이 AddNew 메서드를 호출하면 EditMode 속성이 adEditAdd (EditModeEnum 값) 설정됩니다. 공급자는 모든 필드 값 변경 내용을 로컬로 캐시합니다. Update 메서드를 호출하면 새 레코드가 데이터베이스에 게시되고 EditMode 속성이 adEditNone (EditModeEnum 값) 다시 설정됩니다. Fieldlist 전달하고 값 인수를 경우 ADO는 새 레코드를 데이터베이스에 즉시 게시합니다(업데이트 호출이 필요하지 않음). EditMode 속성 값은 변경되지 않습니다(adEditNone).

일괄 업데이트 모드(공급자가 여러 변경 내용을 캐시하고 UpdateBatch 메서드를 호출할 때만 기본 데이터 원본에 쓰는 경우) 인수 없이 AddNew 메서드를 호출하면 EditMode 속성이 adEditAdd 설정됩니다. 공급자는 모든 필드 값 변경 내용을 로컬로 캐시합니다. Update 메서드를 호출하면 현재 Recordset새 레코드가 추가되지만 공급자는 변경 내용을 기본 데이터베이스에 게시하거나 UpdateBatch 메서드를 호출할 때까지 EditMode adEditNone 다시 설정하지 않습니다. Fieldlist 전달하고 값 인수를 경우 ADO는 새 레코드를 캐시의 스토리지 공급자에게 보내고 EditMode adEditAdd 설정합니다. 새 레코드를 기본 데이터베이스에 게시하려면 UpdateBatch 메서드를 호출해야 합니다.

본보기

다음 예제에서는 필드 목록 및 값 목록이 포함된 AddNew 메서드를 사용하여 필드 목록과 값 목록을 배열로 포함하는 방법을 보여 줍니다.

create table aa1 (intf int, charf char(10))  
insert into aa1 values (2, 'aa')  
  
Dim cn As New adodb.Connection  
Dim rs As New adodb.Recordset  
Dim cmd As New adodb.Command  
  
cn.ConnectionString = "Provider=SQLOLEDB;Data Source=alexverb2;uid=sa;pwd=<password>;"  
  
cn.Open  
rs.Open "select * from xxx..aa1", cn, adOpenKeyset, adLockOptimistic  
  
Dim fieldsArray(1) As Variant  
fieldsArray(0) = "intf"  
fieldsArray(1) = "charf"  
Dim values(1) As Variant  
values(0) = 4  
values(1) = "as"  
rs.AddNew fieldsArray, values  
rs.Update  

적용 대상

ADO(Recordset 개체)

참고 항목

AddNew 메서드 예제(VB)
AddNew 메서드 예제(VBScript)
AddNew 메서드 예제(VC++)
ADO(CancelUpdate 메서드)
EditMode 속성
Requery 메서드
지원 메서드
Update 메서드
UpdateBatch 메서드