SqlDataAdapter 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
SQL Server 데이터베이스를 채우고 DataSet 업데이트하는 데 사용되는 데이터 명령 및 데이터베이스 연결 집합을 나타냅니다. 이 클래스는 상속할 수 없습니다.
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, System::Data::IDbDataAdapter
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable, System.Data.IDbDataAdapter
public sealed class SqlDataAdapter : System.Data.Common.DbDataAdapter, ICloneable
type SqlDataAdapter = class
inherit DbDataAdapter
interface IDbDataAdapter
interface IDataAdapter
interface ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable, IDbDataAdapter
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable
- 상속
- 구현
예제
다음 예제에서는 SqlCommand, SqlDataAdapter및 SqlConnection 데이터베이스에서 레코드를 선택하고 선택한 행으로 DataSet 채웁니다. 채워진 DataSet 값이 반환됩니다. 이를 위해 메서드는 초기화된 DataSet연결 문자열 및 Transact-SQL SELECT 문인 쿼리 문자열을 전달합니다.
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와 SQL DataSet Server 간의 브리지 역할을 합니다. 데이터 SqlDataAdapter 원본의 데이터와 일치하도록 데이터를 변경하고 데이터 원본에 DataSet 대해 적절한 Transact-SQL 문을 사용하여 데이터 원본의 데이터와 Update일치하도록 데이터 원본의 데이터를 DataSet변경하는 매핑Fill을 통해 이 브리지를 제공합니다. 업데이트는 행별로 수행됩니다. 삽입, 수정 및 삭제된 모든 행 Update 에 대해 메서드는 행에 대해 수행된 변경 유형(InsertUpdate또는Delete)을 결정합니다. 변경 Insert유형에 따라 , Update또는 Delete 명령 템플릿이 실행하여 수정된 행을 데이터 원본으로 전파합니다. 채우기는 SqlDataAdapterDataSet반환된 데이터에 필요한 테이블과 열이 아직 없는 경우 만듭니다. 그러나 기본 키 정보는 속성을 AddWithKey설정하지 않는 한 암시적으로 생성된 스키마에 MissingSchemaAction 포함되지 않습니다. 를 SqlDataAdapter 사용하여 FillSchema데이터로 채우기 전에 기본 키 정보를 포함하여 스키마DataSet를 만들 수도 있습니다. 자세한 내용은 데이터 세트에 기존 제약 조건 추가를 참조하세요.
SqlDataAdapter는 SQL Server 데이터베이스에 연결할 때 성능 향상과 SqlCommand 함께 SqlConnection 사용됩니다.
메모
SQL Server 저장 프로시저를 사용하여 DataAdapter를 사용하여 데이터를 편집하거나 삭제하는 경우 저장 프로시저 정의에서 SET NOCOUNT ON을 사용하지 않아야 합니다. 이로 인해 영향을 받은 행 수가 0으로 반환되고, DataAdapter는 이를 동시성 충돌로 해석합니다. 이 경우 DBConcurrencyException이 던져집니다.
SqlDataAdapter 또한 데이터의 로드 및 업데이트를 용이하게 하는 , InsertCommandDeleteCommand, UpdateCommand및 TableMappings 속성도 포함됩니다SelectCommand.
인스턴스 SqlDataAdapter 를 만들면 읽기/쓰기 속성이 초기 값으로 설정됩니다. 이러한 값의 목록은 SqlDataAdapter 생성자를 참조하세요.
는 InsertCommandDeleteCommandUpdateCommand 매개 변수 메커니즘을 통해 수정된 모든 행의 개별 값으로 자동으로 채워진 제네릭 템플릿입니다.
데이터 원본에 전파하는 모든 열에 대해
메모
InvalidOperationException 메서드가 Fill 호출되고 테이블에 클라이언트 컴퓨터에서 사용할 수 없는 사용자 정의 형식이 포함된 경우 발생합니다. 자세한 내용은 CLR 사용자 정의 형식을 참조하세요.
생성자
| Name | Description |
|---|---|
| SqlDataAdapter() |
SqlDataAdapter 클래스의 새 인스턴스를 초기화합니다. |
| SqlDataAdapter(SqlCommand) |
속성으로 지정된 SqlCommand 클래스의 SqlDataAdapter 새 인스턴스를 SelectCommand 초기화합니다. |
| SqlDataAdapter(String, SqlConnection) |
개체와 함께 클래스의 SqlDataAdapter 새 인스턴스를 SelectCommandSqlConnection 초기화합니다. |
| SqlDataAdapter(String, String) |
연결 문자열과 함께 클래스의 SqlDataAdapter 새 인스턴스를 SelectCommand 초기화합니다. |
필드
| Name | Description |
|---|---|
| DefaultSourceTableName |
개체에서 테이블 매핑에 DataAdapter 사용하는 기본 이름입니다. (다음에서 상속됨 DbDataAdapter) |
속성
| Name | Description |
|---|---|
| AcceptChangesDuringFill |
채우기 작업 중에 추가 DataTable 된 후 호출 DataRow 되는지 여부를 AcceptChanges() 나타내는 값을 가져오거나 설정합니다. (다음에서 상속됨 DataAdapter) |
| AcceptChangesDuringUpdate |
를 사용하는 동안 Update(DataSet)호출되는지 여부를 AcceptChanges() 가져오거나 설정합니다. (다음에서 상속됨 DataAdapter) |
| CanRaiseEvents |
구성 요소가 이벤트를 발생시키는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Component) |
| Container |
를 IContainer 포함하는 값을 가져옵니다 Component. (다음에서 상속됨 Component) |
| ContinueUpdateOnError |
행 업데이트 중에 오류가 발생할 때 예외를 생성할지 여부를 지정하는 값을 가져오거나 설정합니다. (다음에서 상속됨 DataAdapter) |
| DeleteCommand |
데이터 집합에서 레코드를 삭제하는 Transact-SQL 문 또는 저장 프로시저를 가져오거나 설정합니다. |
| DesignMode |
현재 디자인 모드인지 여부를 Component 나타내는 값을 가져옵니다. (다음에서 상속됨 Component) |
| Events |
이 Component에 연결된 이벤트 처리기 목록을 가져옵니다. (다음에서 상속됨 Component) |
| FillCommandBehavior |
데이터 어댑터를 채우는 데 사용되는 명령의 동작을 가져오거나 설정합니다. (다음에서 상속됨 DbDataAdapter) |
| FillLoadOption |
어댑터에서 LoadOption 어댑터를 채우는 DataTableDbDataReader방법을 결정하는 값을 가져오거나 설정합니다. (다음에서 상속됨 DataAdapter) |
| InsertCommand |
데이터 원본에 새 레코드를 삽입하는 Transact-SQL 문 또는 저장 프로시저를 가져오거나 설정합니다. |
| MissingMappingAction |
들어오는 데이터에 일치하는 테이블 또는 열이 없는 경우 수행할 작업을 결정합니다. (다음에서 상속됨 DataAdapter) |
| MissingSchemaAction |
기존 DataSet 스키마가 들어오는 데이터와 일치하지 않을 때 수행할 작업을 결정합니다. (다음에서 상속됨 DataAdapter) |
| ReturnProviderSpecificTypes |
메서드가 |
| SelectCommand |
데이터 원본에서 레코드를 선택하는 데 사용되는 Transact-SQL 문 또는 저장 프로시저를 가져오거나 설정합니다. |
| Site |
의 ISite값을 Component 가져오거나 설정합니다. (다음에서 상속됨 Component) |
| TableMappings |
원본 테이블과 DataTable. (다음에서 상속됨 DataAdapter) |
| UpdateBatchSize |
서버에 대한 각 왕복에서 처리되는 행 수를 가져오거나 설정합니다. |
| UpdateCommand |
데이터 원본의 레코드를 업데이트하는 데 사용되는 Transact-SQL 문 또는 저장 프로시저를 가져오거나 설정합니다. |
메서드
이벤트
| Name | Description |
|---|---|
| Disposed |
구성 요소가 메서드 호출에 Dispose() 의해 삭제될 때 발생합니다. (다음에서 상속됨 Component) |
| FillError |
채우기 작업 중에 오류가 발생할 때 반환됩니다. (다음에서 상속됨 DbDataAdapter) |
| RowUpdated |
Update(DataSet) 데이터 원본에 대해 명령을 실행한 후에 발생합니다. 업데이트를 시도하므로 이벤트가 발생합니다. |
| RowUpdating |
Update(DataSet) 데이터 원본에 대해 명령을 실행하기 전에 발생합니다. 업데이트를 시도하므로 이벤트가 발생합니다. |
명시적 인터페이스 구현
| Name | Description |
|---|---|
| ICloneable.Clone() |
이 멤버에 대한 설명은 을 참조하세요 Clone(). |
| IDataAdapter.TableMappings |
원본 테이블이 데이터 세트 테이블에 매핑되는 방법을 나타내는 컬렉션을 가져옵니다. (다음에서 상속됨 DataAdapter) |
| IDbDataAdapter.DeleteCommand |
이 멤버에 대한 설명은 을 참조하세요 DeleteCommand. |
| IDbDataAdapter.InsertCommand |
이 멤버에 대한 설명은 을 참조하세요 InsertCommand. |
| IDbDataAdapter.SelectCommand |
이 멤버에 대한 설명은 을 참조하세요 SelectCommand. |
| IDbDataAdapter.UpdateCommand |
이 멤버에 대한 설명은 을 참조하세요 UpdateCommand. |