다음을 통해 공유


SqlDataAdapter 클래스

정의

DataSet 를 채우고 SQL Server 데이터베이스를 업데이트하는 데 사용되는 데이터베이스 연결 및 데이터 명령 집합을 나타냅니다. 이 클래스는 상속될 수 없습니다.

public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, System::Data::IDbDataAdapter
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable, System.Data.IDbDataAdapter
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter
type SqlDataAdapter = class
    inherit DbDataAdapter
    interface IDbDataAdapter
    interface IDataAdapter
    interface ICloneable
type SqlDataAdapter = class
    inherit DbDataAdapter
    interface IDataAdapter
    interface IDbDataAdapter
    interface ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable, IDbDataAdapter
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
상속
구현

예제

다음 예제에서는 , SqlDataAdapterSqlConnection 를 사용하여 SqlCommand데이터베이스에서 레코드를 선택하고 선택한 행으로 를 DataSet 채웁니다. 채워진 DataSet 반환 됩니다. 이를 위해 메서드는 Transact-SQL SELECT 문인 초기화된 DataSet, 연결 문자열 및 쿼리 문자열을 전달합니다.

private static DataSet SelectRows(DataSet dataset,
    string connectionString,string queryString)
{
    using (SqlConnection connection =
        new SqlConnection(connectionString))
    {
        SqlDataAdapter adapter = new SqlDataAdapter();
        adapter.SelectCommand = new SqlCommand(
            queryString, connection);
        adapter.Fill(dataset);
        return dataset;
    }
}
Public Function SelectRows( _
    ByVal dataSet As DataSet, ByVal connectionString As String, _
    ByVal queryString As String) As DataSet

    Using connection As New SqlConnection(connectionString)
        Dim adapter As New SqlDataAdapter()
        adapter.SelectCommand = New SqlCommand( _
            queryString, connection)
        adapter.Fill(dataSet)
        Return dataSet
    End Using
End Function

설명

SqlDataAdapter데이터를 검색하고 저장하기 위한 와 SQL Server 간의 DataSet 브리지 역할을 합니다. 는 SqlDataAdapter 데이터 원본의 데이터와 일치하도록 의 DataSet 데이터를 변경하는 를 매핑하고Update, 데이터 원본에 적절한 Transact-SQL 문을 사용하여 의 데이터 원본의 데이터를 의 데이터DataSet와 일치하도록 변경하는 을 매핑Fill하여 이 브리지를 제공합니다. 업데이트는 행별로 수행됩니다. 삽입, 수정 및 삭제된 모든 행에 대해 메서드는 해당 행 Update 에 대해 수행된 변경 유형(Insert, Update또는 Delete)을 결정합니다. 변경 유형에 따라 , InsertUpdate또는 Delete 명령 템플릿이 실행되어 수정된 행을 데이터 원본에 전파합니다. 이 SqlDataAdapter 를 채우 DataSet면 반환된 데이터에 필요한 테이블과 열이 아직 없는 경우 만듭니다. 그러나 기본 키 정보는 속성이 로 설정AddWithKey되지 않는 한 암시적으로 생성된 스키마에 MissingSchemaAction 포함되지 않습니다. 를 사용하여 데이터로 SqlDataAdapter 채우기 전에 기본 키 정보를 포함하여 의 DataSet스키마를 만들 수도 FillSchema있습니다. 자세한 내용은 기존 제약 조건 데이터 세트에 추가를 참조하세요.

SqlDataAdapter는 및 SqlCommand 와 함께 SqlConnection 사용하여 SQL Server 데이터베이스에 연결할 때 성능을 향상합니다.

참고

SQL Server 저장 프로시저를 사용하여 DataAdapter를 사용하여 데이터를 편집하거나 삭제하는 경우 저장 프로시저 정의에서 SET NOCOUNT ON을 사용하지 않아야 합니다. 사용할 경우에는 영향을 받는 행 수가 0으로 반환되어 DataAdapter가 동시성 충돌로 해석됩니다. 이 경우 DBConcurrencyException이 throw됩니다.

SqlDataAdapter 에는 데이터 로드 및 업데이트를 용이하게 하는 , DeleteCommandInsertCommand, , UpdateCommandTableMappings 속성도 포함됩니다SelectCommand.

의 instance SqlDataAdapter 만들어지면 읽기/쓰기 속성이 초기 값으로 설정됩니다. 이러한 값의 목록을 보려면 참조는 SqlDataAdapter 생성자입니다.

, DeleteCommandUpdateCommandInsertCommand매개 변수 메커니즘을 통해 수정된 모든 행의 개별 값으로 자동으로 채워진 제네릭 템플릿입니다.

의 데이터 원본에 전파하는 모든 열에 대해 Update, 또는 DeleteCommand에 매개 변수를 InsertCommandUpdateCommand추가해야 합니다. SourceColumn 개체의 DbParameter 속성을 열 이름으로 설정해야 합니다. 이 설정은 매개 변수의 값이 수동으로 설정되지 않고 현재 처리된 행의 특정 열에서 가져온다는 것을 나타냅니다.

참고

InvalidOperationException 메서드가 Fill 호출되고 테이블에 클라이언트 컴퓨터에서 사용할 수 없는 사용자 정의 형식이 포함된 경우 이 발생합니다. 자세한 내용은 CLR 사용자 정의 형식을 참조하세요.

생성자

SqlDataAdapter()

SqlDataAdapter 클래스의 새 인스턴스를 초기화합니다.

SqlDataAdapter(SqlCommand)

SqlDataAdapter 속성으로서 지정된 SqlCommand를 사용하여 SelectCommand 클래스의 새 인스턴스를 초기화합니다.

SqlDataAdapter(String, SqlConnection)

SqlDataAdapterSelectCommand 개체를 사용하여 SqlConnection 클래스의 새 인스턴스를 초기화합니다.

SqlDataAdapter(String, String)

SqlDataAdapter와 연결 문자열을 사용하여 SelectCommand 클래스의 새 인스턴스를 초기화합니다.

필드

DefaultSourceTableName

DataAdapter 개체에서 테이블 매핑에 사용하는 기본 이름입니다.

(다음에서 상속됨 DbDataAdapter)

속성

AcceptChangesDuringFill

채우기 작업을 수행하는 동안 DataTable에 추가된 DataRow에 대해 AcceptChanges()가 호출되는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 DataAdapter)
AcceptChangesDuringUpdate

AcceptChanges()를 수행하는 동안 Update(DataSet)가 호출되는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 DataAdapter)
CanRaiseEvents

구성 요소가 이벤트를 발생시킬 수 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Component)
Container

IContainer을 포함하는 Component를 가져옵니다.

(다음에서 상속됨 Component)
ContinueUpdateOnError

행을 업데이트하는 동안 오류가 발생할 때 예외를 생성할지 여부를 지정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 DataAdapter)
DeleteCommand

레코드를 데이터 집합으로부터 삭제할 Transact-SQL 문이나 저장 프로시저를 가져오거나 설정합니다.

DesignMode

Component가 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Component)
Events

Component에 연결된 이벤트 처리기의 목록을 가져옵니다.

(다음에서 상속됨 Component)
FillCommandBehavior

데이터 어댑터를 채우는 데 사용되는 명령의 동작을 가져오거나 설정합니다.

(다음에서 상속됨 DbDataAdapter)
FillLoadOption

어댑터가 LoadOption에서 DataTable을 채우는 방법을 결정하는 DbDataReader을 가져오거나 설정합니다.

(다음에서 상속됨 DataAdapter)
InsertCommand

새로운 레코드를 데이터 소스에 삽입할 Transact-SQL 문이나 저장 프로시저를 가져오거나 설정합니다.

MissingMappingAction

들어오는 데이터와 일치하는 테이블이나 열이 없는 경우 수행할 동작을 결정합니다.

(다음에서 상속됨 DataAdapter)
MissingSchemaAction

기존 DataSet 스키마가 들어오는 데이터와 일치하지 않는 경우 수행할 동작을 결정합니다.

(다음에서 상속됨 DataAdapter)
ReturnProviderSpecificTypes

공급자별 값이나 공용 CLS 규격 값 중에서 Fill 메서드가 반환해야 하는 것을 가져오거나 설정합니다.

(다음에서 상속됨 DataAdapter)
SelectCommand

데이터 소스에서 레코드를 선택하는 데 사용하는 Transact-SQL 문이나 저장 프로시저를 가져오거나 설정합니다.

Site

ComponentISite를 가져오거나 설정합니다.

(다음에서 상속됨 Component)
TableMappings

원본 테이블과 DataTable간의 기본 매핑을 제공하는 컬렉션을 가져옵니다.

(다음에서 상속됨 DataAdapter)
UpdateBatchSize

서버에 대한 각 라운드트립에서 처리된 행의 수를 가져오거나 설정합니다.

UpdateBatchSize

일괄 작업 처리 지원을 활성화하거나 비활성화하는 값을 가져오거나 설정하고 일괄 작업에서 실행할 수 있는 명령의 수를 지정합니다.

(다음에서 상속됨 DbDataAdapter)
UpdateCommand

데이터 소스에서 레코드를 업데이트하는 데 사용하는 Transact-SQL 문이나 저장 프로시저를 가져오거나 설정합니다.

메서드

AddToBatch(IDbCommand)

현재 일괄 작업에 IDbCommand를 추가합니다.

(다음에서 상속됨 DbDataAdapter)
ClearBatch()

일괄 작업에서 IDbCommand 개체를 모두 제거합니다.

(다음에서 상속됨 DbDataAdapter)
CloneInternals()
사용되지 않음.
사용되지 않음.
사용되지 않음.
사용되지 않음.

DataAdapter의 인스턴스 복사본을 만듭니다.

(다음에서 상속됨 DataAdapter)
CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
CreateRowUpdatedEvent(DataRow, IDbCommand, StatementType, DataTableMapping)

RowUpdatedEventArgs 클래스의 새 인스턴스를 초기화합니다.

(다음에서 상속됨 DbDataAdapter)
CreateRowUpdatingEvent(DataRow, IDbCommand, StatementType, DataTableMapping)

RowUpdatingEventArgs 클래스의 새 인스턴스를 초기화합니다.

(다음에서 상속됨 DbDataAdapter)
CreateTableMappings()

DataTableMappingCollection를 만듭니다.

(다음에서 상속됨 DataAdapter)
Dispose()

Component에서 사용하는 모든 리소스를 해제합니다.

(다음에서 상속됨 Component)
Dispose(Boolean)

DbDataAdapter에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.

(다음에서 상속됨 DbDataAdapter)
Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
ExecuteBatch()

현재 일괄 작업을 실행합니다.

(다음에서 상속됨 DbDataAdapter)
Fill(DataSet)

DataSet의 행을 추가하거나 새로 고칩니다.

(다음에서 상속됨 DbDataAdapter)
Fill(DataSet, Int32, Int32, String)

DataSetDataSet 이름을 사용하여 지정된 범위에서 데이터 소스의 행과 일치하도록 DataTable의 행을 추가하거나 새로 고칩니다.

(다음에서 상속됨 DbDataAdapter)
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)

DataSet과 소스 테이블 이름, 명령 문자열과 명령 동작을 사용하여 지정된 범위에서 데이터 소스의 행과 일치하도록 DataSet의 행을 추가하거나 새로 고칩니다.

(다음에서 상속됨 DbDataAdapter)
Fill(DataSet, String)

DataSetDataSet 이름을 사용하여 데이터 소스의 행과 일치하도록 DataTable의 행을 추가하거나 새로 고칩니다.

(다음에서 상속됨 DbDataAdapter)
Fill(DataSet, String, IDataReader, Int32, Int32)

DataSet, DataTableIDataReader 이름을 사용하여 지정된 범위에서 데이터 소스의 행과 일치하도록 DataSet의 행을 추가하거나 새로 고칩니다.

(다음에서 상속됨 DbDataAdapter)
Fill(DataTable)

DataSet 이름을 사용하여 지정된 범위에서 데이터 소스의 행과 일치하도록 DataTable의 행을 추가하거나 새로 고칩니다.

(다음에서 상속됨 DbDataAdapter)
Fill(DataTable, IDataReader)

지정된 DataTableIDataReader 이름을 사용하여 데이터 소스의 행과 일치하도록 DataTable의 행을 추가하거나 새로 고칩니다.

(다음에서 상속됨 DbDataAdapter)
Fill(DataTable, IDbCommand, CommandBehavior)

지정된 DataTable, DataTableIDbCommand를 사용하여 데이터 소스의 행과 일치하도록 CommandBehavior의 행을 추가하거나 새로 고칩니다.

(다음에서 상속됨 DbDataAdapter)
Fill(DataTable[], IDataReader, Int32, Int32)

DataTable 개체 컬렉션의 지정된 범위에서 데이터 소스의 행과 일치하도록 행을 추가하거나 새로 고칩니다.

(다음에서 상속됨 DataAdapter)
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)

DataSetDataSet 이름을 사용하여 지정된 범위에서 데이터 소스의 행과 일치하도록 DataTable의 행을 추가하거나 새로 고칩니다.

(다음에서 상속됨 DbDataAdapter)
Fill(Int32, Int32, DataTable[])

지정된 레코드에서 시작하여 지정된 최대 레코드 수까지 검색하는 데이터 원본의 행과 일치하도록 하나 이상의 DataTable 개체에 행을 추가하거나 새로 고칩니다.

(다음에서 상속됨 DbDataAdapter)
FillSchema(DataSet, SchemaType)

지정된 DataSet에 "Table"이라는 DataTable을 추가하고 지정된 SchemaType에 따라 데이터 원본의 스키마와 일치하도록 스키마를 구성합니다.

(다음에서 상속됨 DbDataAdapter)
FillSchema(DataSet, SchemaType, IDbCommand, String, CommandBehavior)

지정된 DataTableDataSet 을 추가하고 지정된 SchemaType에 따라 데이터 원본의 스키마와 일치하도록 스키마를 구성합니다.

(다음에서 상속됨 DbDataAdapter)
FillSchema(DataSet, SchemaType, String)

지정된 DataTableDataSet 을 추가하고 지정된 SchemaTypeDataTable에 따라 데이터 원본의 스키마와 일치하도록 스키마를 구성합니다.

(다음에서 상속됨 DbDataAdapter)
FillSchema(DataSet, SchemaType, String, IDataReader)

지정된 DataTableDataSet을 추가합니다.

(다음에서 상속됨 DataAdapter)
FillSchema(DataTable, SchemaType)

지정된 DataTable 을 기반으로 하여 지정된 SchemaType의 스키마를 구성합니다.

(다음에서 상속됨 DbDataAdapter)
FillSchema(DataTable, SchemaType, IDataReader)

지정된 DataTableDataSet을 추가합니다.

(다음에서 상속됨 DataAdapter)
FillSchema(DataTable, SchemaType, IDbCommand, CommandBehavior)

지정된 DataTable, 명령 문자열 및 SchemaType 값을 기반으로 지정된 CommandBehavior의 스키마를 구성합니다.

(다음에서 상속됨 DbDataAdapter)
GetBatchedParameter(Int32, Int32)

현재 일괄 작업의 명령 중 하나에서 IDataParameter를 반환합니다.

(다음에서 상속됨 DbDataAdapter)
GetBatchedRecordsAffected(Int32, Int32, Exception)

보다 큰 일괄 처리 업데이트 내에서 개별 업데이트 시도에 대한 정보를 반환합니다.

(다음에서 상속됨 DbDataAdapter)
GetFillParameters()

SQL SELECT 문을 실행할 때 사용자가 설정한 매개 변수를 가져옵니다.

(다음에서 상속됨 DbDataAdapter)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.

(다음에서 상속됨 MarshalByRefObject)
GetService(Type)

Component 또는 해당 Container에서 제공하는 서비스를 나타내는 개체를 반환합니다.

(다음에서 상속됨 Component)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
HasTableMappings()

DataTableMappingCollection이 만들어졌는지 여부를 나타냅니다.

(다음에서 상속됨 DataAdapter)
InitializeBatching()

DbDataAdapter의 일괄 처리를 초기화합니다.

(다음에서 상속됨 DbDataAdapter)
InitializeLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
OnFillError(FillErrorEventArgs)

FillError 이벤트를 발생시킵니다.

(다음에서 상속됨 DbDataAdapter)
OnRowUpdated(RowUpdatedEventArgs)

.NET 데이터 공급자의 RowUpdated 이벤트를 유발합니다.

(다음에서 상속됨 DbDataAdapter)
OnRowUpdating(RowUpdatingEventArgs)

.NET 데이터 공급자의 RowUpdating 이벤트를 유발합니다.

(다음에서 상속됨 DbDataAdapter)
ResetFillLoadOption()

FillLoadOption을 기본 상태로 다시 설정하여 Fill(DataSet)AcceptChangesDuringFill을 따르도록 합니다.

(다음에서 상속됨 DataAdapter)
ShouldSerializeAcceptChangesDuringFill()

AcceptChangesDuringFill 속성을 유지해야 하는지 여부를 결정합니다.

(다음에서 상속됨 DataAdapter)
ShouldSerializeFillLoadOption()

FillLoadOption 속성을 유지해야 하는지 여부를 결정합니다.

(다음에서 상속됨 DataAdapter)
ShouldSerializeTableMappings()

하나 이상의 DataTableMapping 개체가 존재하며 유지되어야 하는지 여부를 결정합니다.

(다음에서 상속됨 DataAdapter)
TerminateBatching()

DbDataAdapter의 일괄 처리를 종료합니다.

(다음에서 상속됨 DbDataAdapter)
ToString()

Component의 이름이 포함된 String을 반환합니다(있는 경우). 이 메서드는 재정의할 수 없습니다.

(다음에서 상속됨 Component)
Update(DataRow[])

DataSet의 지정된 배열에서 삽입, 업데이트 또는 삭제된 각 행마다 INSERT, UPDATE 또는 DELETE 문을 각각 실행하여 데이터베이스의 값을 업데이트합니다.

(다음에서 상속됨 DbDataAdapter)
Update(DataRow[], DataTableMapping)

지정된 DataRow 개체 배열에서 삽입, 업데이트 또는 삭제된 각 행마다 INSERT, UPDATE 또는 DELETE 문을 각각 실행하여 데이터베이스에 있는 값을 업데이트합니다.

(다음에서 상속됨 DbDataAdapter)
Update(DataSet)

지정된 DataSet에서 삽입, 업데이트 또는 삭제된 각 행마다 INSERT, UPDATE 또는 DELETE 문을 각각 실행하여 데이터베이스에 있는 값을 업데이트합니다.

(다음에서 상속됨 DbDataAdapter)
Update(DataSet, String)

DataTable 이름이 지정된 DataSet에서 삽입, 업데이트 또는 삭제된 각 행마다 INSERT, UPDATE 또는 DELETE 문을 각각 실행하여 데이터베이스에 있는 값을 업데이트합니다.

(다음에서 상속됨 DbDataAdapter)
Update(DataTable)

지정된 DataTable에서 삽입, 업데이트 또는 삭제된 각 행마다 INSERT, UPDATE 또는 DELETE 문을 각각 실행하여 데이터베이스에 있는 값을 업데이트합니다.

(다음에서 상속됨 DbDataAdapter)

이벤트

Disposed

Dispose() 메서드를 호출하여 구성 요소를 삭제할 때 발생합니다.

(다음에서 상속됨 Component)
FillError

채우기 작업 도중에 오류가 발생할 때 반환됩니다.

(다음에서 상속됨 DbDataAdapter)
RowUpdated

데이터 소스에 대해 명령이 실행된 후에 Update(DataSet)를 수행하는 동안 발생합니다. 업데이트를 시도했으므로 이벤트가 발생합니다.

RowUpdating

데이터 소스에 대해 명령이 실행되기 전에 Update(DataSet)를 수행하는 동안 발생합니다. 업데이트를 시도했으므로 이벤트가 발생합니다.

명시적 인터페이스 구현

ICloneable.Clone()

이 멤버에 대한 설명은 Clone()를 참조하세요.

IDataAdapter.TableMappings

원본 테이블이 데이터 세트 테이블에 매핑되는 방법을 나타내는 컬렉션을 가져옵니다.

(다음에서 상속됨 DataAdapter)
IDbDataAdapter.DeleteCommand

이 멤버에 대한 설명은 DeleteCommand를 참조하세요.

IDbDataAdapter.InsertCommand

이 멤버에 대한 설명은 InsertCommand를 참조하세요.

IDbDataAdapter.SelectCommand

이 멤버에 대한 설명은 SelectCommand를 참조하세요.

IDbDataAdapter.UpdateCommand

이 멤버에 대한 설명은 UpdateCommand를 참조하세요.

적용 대상

추가 정보