SqlDataAdapter 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
DataSet 를 채우고 SQL Server 데이터베이스를 업데이트하는 데 사용되는 데이터베이스 연결 및 데이터 명령 집합을 나타냅니다. 이 클래스는 상속될 수 없습니다.
public ref class SqlDataAdapter sealed : System::Data::Common::DbDataAdapter, ICloneable, System::Data::IDataAdapter, 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.IDataAdapter, 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, IDataAdapter, IDbDataAdapter
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
Implements ICloneable
Public NotInheritable Class SqlDataAdapter
Inherits DbDataAdapter
- 상속
-
SqlDataAdapter
- 구현
예제
다음 예제에서는 , SqlDataAdapter및 SqlConnection 를 사용하여 SqlCommand데이터베이스에서 레코드를 선택하고 선택한 행으로 를 DataSet 채웁니다. 채워진 DataSet 반환 됩니다. 이를 위해 메서드는 초기화된 DataSet, 연결 문자열 및 Transact-SQL SELECT 문인 쿼리 문자열을 전달합니다.
using Microsoft.Data.SqlClient;
using System.Xml;
using System.Data.Common;
using System.Windows.Forms;
public class Form1 : Form
{
protected DataSet DataSet1;
protected DataGrid dataGrid1;
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;
}
}
}
설명
는 SqlDataAdapter데이터를 검색하고 저장하기 위한 와 SQL Server 간의 DataSet 브리지 역할을 합니다. 는 SqlDataAdapter 데이터 원본의 데이터와 일치하도록 의 DataSet 데이터를 변경하는 를 매핑하고Update, 데이터 원본에 적절한 Transact-SQL 문을 사용하여 의 데이터 원본의 데이터를 의 데이터DataSet와 일치하도록 변경하는 을 매핑Fill하여 이 브리지를 제공합니다. 업데이트는 행별로 수행됩니다. 삽입, 수정 및 삭제된 모든 행에 대해 메서드는 해당 행 Update 에 대해 수행된 변경 유형(Insert
, Update
또는 Delete
)을 결정합니다. 변경 유형에 따라 , Insert
Update
또는 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, , UpdateCommand및 TableMappings 속성도 포함됩니다SelectCommand.
인스턴스 SqlDataAdapter 가 만들어지면 읽기/쓰기 속성이 초기 값으로 설정됩니다. 이러한 값의 목록을 보려면 참조는 SqlDataAdapter 생성자입니다.
, DeleteCommand및 UpdateCommand 는 InsertCommand매개 변수 메커니즘을 통해 수정된 모든 행의 개별 값으로 자동으로 채워진 제네릭 템플릿입니다.
의 데이터 원본에 전파하는 모든 열에 대해 Update, 또는 DeleteCommand
에 매개 변수를 InsertCommand
UpdateCommand
추가해야 합니다. SourceColumn 개체의 DbParameter 속성을 열 이름으로 설정해야 합니다. 이 설정은 매개 변수의 값이 수동으로 설정되지 않고 현재 처리된 행의 특정 열에서 가져온다는 것을 나타냅니다.
참고
InvalidOperationException 메서드가 Fill 호출되고 테이블에 클라이언트 컴퓨터에서 사용할 수 없는 사용자 정의 형식이 포함된 경우 이 발생합니다. 자세한 내용은 CLR 사용자 정의 형식을 참조하세요.
생성자
SqlDataAdapter() |
SqlDataAdapter 클래스의 새 인스턴스를 초기화합니다. |
SqlDataAdapter(SqlCommand) |
SqlDataAdapter 속성으로서 지정된 SqlCommand를 사용하여 SelectCommand 클래스의 새 인스턴스를 초기화합니다. |
SqlDataAdapter(String, SqlConnection) |
SqlDataAdapter 및 SelectCommand 개체를 사용하여 SqlConnection 클래스의 새 인스턴스를 초기화합니다. |
SqlDataAdapter(String, String) |
SqlDataAdapter와 연결 문자열을 사용하여 SelectCommand 클래스의 새 인스턴스를 초기화합니다. |
속성
DeleteCommand |
레코드를 데이터 집합으로부터 삭제할 Transact-SQL 문이나 저장 프로시저를 가져오거나 설정합니다. |
InsertCommand |
새로운 레코드를 데이터 소스에 삽입할 Transact-SQL 문이나 저장 프로시저를 가져오거나 설정합니다. |
SelectCommand |
데이터 소스에서 레코드를 선택하는 데 사용하는 Transact-SQL 문이나 저장 프로시저를 가져오거나 설정합니다. |
UpdateBatchSize |
서버에 대한 각 라운드트립에서 처리된 행의 수를 가져오거나 설정합니다. |
UpdateCommand |
데이터 소스에서 레코드를 업데이트하는 데 사용하는 Transact-SQL 문이나 저장 프로시저를 가져오거나 설정합니다. |
이벤트
RowUpdated |
데이터 소스에 대해 명령이 실행된 후에 Update(DataSet)를 수행하는 동안 발생합니다. 업데이트를 시도했으므로 이벤트가 발생합니다. |
RowUpdating |
데이터 소스에 대해 명령이 실행되기 전에 Update(DataSet)를 수행하는 동안 발생합니다. 업데이트를 시도했으므로 이벤트가 발생합니다. |
명시적 인터페이스 구현
ICloneable.Clone() |
이 멤버에 대한 설명은 Clone()를 참조하세요. |
IDbDataAdapter.DeleteCommand |
이 멤버에 대한 설명은 DeleteCommand를 참조하세요. |
IDbDataAdapter.InsertCommand |
이 멤버에 대한 설명은 InsertCommand를 참조하세요. |
IDbDataAdapter.SelectCommand |
이 멤버에 대한 설명은 SelectCommand를 참조하세요. |
IDbDataAdapter.UpdateCommand |
이 멤버에 대한 설명은 UpdateCommand를 참조하세요. |