SqlCommandBuilder 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
연결된 SQL Server 데이터베이스와 DataSet 의 변경 내용을 조정하는 데 사용하는 단일 테이블 명령을 자동으로 생성합니다. 이 클래스는 상속될 수 없습니다.
public ref class SqlCommandBuilder sealed : System::ComponentModel::Component
public ref class SqlCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public sealed class SqlCommandBuilder : System.ComponentModel.Component
public sealed class SqlCommandBuilder : System.Data.Common.DbCommandBuilder
type SqlCommandBuilder = class
inherit Component
type SqlCommandBuilder = class
inherit DbCommandBuilder
Public NotInheritable Class SqlCommandBuilder
Inherits Component
Public NotInheritable Class SqlCommandBuilder
Inherits DbCommandBuilder
- 상속
- 상속
예제
다음 예제에서는 , SqlDataAdapter 및 를 SqlConnection사용하여 SqlCommand데이터 원본에서 행을 선택합니다. 예제는 연결 문자열, Transact-SQL SELECT 문인 쿼리 문자열 및 데이터베이스 테이블의 이름인 문자열을 전달합니다. 그런 다음, 이 예제에서는 를 SqlCommandBuilder만듭니다.
public static DataSet SelectSqlRows(string connectionString,
string queryString, string tableName)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(queryString, connection);
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
connection.Open();
DataSet dataSet = new DataSet();
adapter.Fill(dataSet, tableName);
//code to modify data in DataSet here
builder.GetUpdateCommand();
//Without the SqlCommandBuilder this line would fail
adapter.Update(dataSet, tableName);
return dataSet;
}
}
Private Function SelectSqlRows(ByVal connectionString As String, _
ByVal queryString As String, ByVal tableName As String) As DataSet
Using connection As New SqlConnection(connectionString)
Dim adapter As New SqlDataAdapter()
adapter.SelectCommand = New SqlCommand(queryString, connection)
Dim builder As New SqlCommandBuilder(adapter)
connection.Open()
Dim dataSet As New DataSet()
adapter.Fill(dataSet, tableName)
' Code to modify data in DataSet here
builder.GetUpdateCommand()
' Without the SqlCommandBuilder this line would fail.
adapter.Update(dataSet, tableName)
Return dataSet
End Using
End Function
설명
는 SqlDataAdapter 에 대한 변경 내용을 SQL Server 연결된 instance 조정하는 DataSet 데 필요한 Transact-SQL 문을 자동으로 생성하지 않습니다. 그러나 의 속성을 SqlDataAdapter설정하는 경우 단일 테이블 업데이트에 대한 Transact-SQL 문을 자동으로 생성하는 개체를 SelectCommand 만들 SqlCommandBuilder 수 있습니다. 그런 다음 설정하지 않은 추가 Transact-SQL 문이 에 의해 SqlCommandBuilder생성됩니다.
는 SqlCommandBuilder 속성을 설정할 때마다 이벤트에 대한 RowUpdating 수신기로 등록합니다 DataAdapter . 한 번에 하나 SqlDataAdapter 또는 SqlCommandBuilder 개체를 서로 연결할 수 있습니다.
INSERT, UPDATE 또는 DELETE 문을 생성하기 위해 는 SqlCommandBuilder 속성을 사용하여 SelectCommand 필요한 메타데이터 집합을 자동으로 검색합니다. 첫 번째 업데이트 후와 같이 메타데이터가 검색된 후 를 변경하는 SelectCommand 경우 메서드를 RefreshSchema 호출하여 메타데이터를 업데이트해야 합니다.
SelectCommand
는 또한 하나 이상의 기본 키 또는 고유한 열을 반환해야 합니다. 없는 경우 InvalidOperation 예외가 생성되고 명령이 생성되지 않습니다.
는 SqlCommandBuilder 에서 참조SelectCommand하는 Connection, CommandTimeout및 Transaction 속성도 사용합니다. 사용자는 이러한 속성 중 하나 이상이 수정되거나 자체 속성이 SelectCommand 교체된 경우 를 호출 RefreshSchema 해야 합니다. 그렇지 않으면 InsertCommand, UpdateCommand및 DeleteCommand 속성은 이전 값을 유지합니다.
를 호출 Dispose하는 경우 는 SqlCommandBuilder 에서 SqlDataAdapter연결되지 않으며 생성된 명령은 더 이상 사용되지 않습니다.
생성자
SqlCommandBuilder() |
SqlCommandBuilder 클래스의 새 인스턴스를 초기화합니다. |
SqlCommandBuilder(SqlDataAdapter) |
관련 SqlCommandBuilder 개체를 사용하여 SqlDataAdapter 클래스의 새 인스턴스를 초기화합니다. |
속성
CanRaiseEvents |
구성 요소가 이벤트를 발생시킬 수 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Component) |
CatalogLocation |
SqlCommandBuilder 클래스의 인스턴스에 대한 CatalogLocation을 가져오거나 설정합니다. |
CatalogSeparator |
SqlCommandBuilder 클래스의 인스턴스에 대한 카탈로그 구분 기호로 사용되는 문자열을 가져오거나 설정합니다. |
ConflictOption |
ConflictOption가 사용할 DbCommandBuilder을 지정합니다. (다음에서 상속됨 DbCommandBuilder) |
Container |
IContainer을 포함하는 Component를 가져옵니다. (다음에서 상속됨 Component) |
DataAdapter |
Transact-SQL 문을 자동으로 생성할 SqlDataAdapter 개체를 가져오거나 설정합니다. |
DesignMode |
Component가 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Component) |
Events |
이 Component에 연결된 이벤트 처리기의 목록을 가져옵니다. (다음에서 상속됨 Component) |
QuotePrefix |
이름에 공백 또는 예약된 토큰과 같은 문자가 포함된 SQL Server 데이터베이스 개체(예: 테이블 또는 열)를 지정할 때 사용할 시작 문자를 가져오거나 설정합니다. |
QuoteSuffix |
이름에 공백 또는 예약된 토큰과 같은 문자가 포함된 SQL Server 데이터베이스 개체(예: 테이블 또는 열)를 지정할 때 사용할 끝 문자를 가져오거나 설정합니다. |
SchemaSeparator |
스키마 식별자와 다른 식별자 간의 구분 기호로 사용할 문자를 가져오거나 설정합니다. |
SetAllValues |
UPDATE 문에 모든 열 값이 포함되어 있는지 아니면 변경된 열 값만 포함되어 있는지를 지정합니다. (다음에서 상속됨 DbCommandBuilder) |
Site |
Component의 ISite를 가져오거나 설정합니다. (다음에서 상속됨 Component) |
메서드
ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean) |
DbCommandBuilder 클래스의 공급자 구현에서 추가 매개 변수 속성을 처리할 수 있도록 합니다. (다음에서 상속됨 DbCommandBuilder) |
CreateObjRef(Type) |
원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
DeriveParameters(SqlCommand) |
SqlCommand에 지정된 저장 프로시저의 매개 변수 정보를 검색하여 지정된 Parameters 개체의 SqlCommand 컬렉션을 채웁니다. |
Dispose() |
Component에서 사용하는 모든 리소스를 해제합니다. (다음에서 상속됨 Component) |
Dispose(Boolean) |
Component에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다. (다음에서 상속됨 Component) |
Dispose(Boolean) |
DbCommandBuilder에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다. (다음에서 상속됨 DbCommandBuilder) |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetDeleteCommand() |
데이터베이스에서 삭제하는 데 필요한 자동으로 생성된 SqlCommand 개체를 가져옵니다. |
GetDeleteCommand(Boolean) |
데이터베이스에서 삭제하는 데 필요한 자동으로 생성된 SqlCommand 개체를 가져옵니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetInsertCommand() |
데이터베이스에서 삽입하는 데 필요한 자동으로 생성된 SqlCommand 개체를 가져옵니다. |
GetInsertCommand(Boolean) |
데이터베이스에서 삽입하는 데 필요한 자동으로 생성된 SqlCommand 개체를 가져옵니다. |
GetLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다. (다음에서 상속됨 MarshalByRefObject) |
GetParameterName(Int32) |
지정된 매개 변수의 이름을 형식으로 반환합니다 |
GetParameterName(String) |
부분 매개 변수 이름이 제공된 경우 전체 매개 변수 이름을 반환합니다. (다음에서 상속됨 DbCommandBuilder) |
GetParameterPlaceholder(Int32) |
연결된 SQL 문에서 매개 변수의 자리 표시자를 반환합니다. (다음에서 상속됨 DbCommandBuilder) |
GetSchemaTable(DbCommand) |
DbCommandBuilder의 스키마 테이블을 반환합니다. (다음에서 상속됨 DbCommandBuilder) |
GetService(Type) |
Component 또는 해당 Container에서 제공하는 서비스를 나타내는 개체를 반환합니다. (다음에서 상속됨 Component) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
GetUpdateCommand() |
데이터베이스에서 업데이트하는 데 필요한 자동으로 생성된 SqlCommand 개체를 가져옵니다. |
GetUpdateCommand(Boolean) |
데이터베이스에서 업데이트하는 데 필요한 자동으로 생성된 SqlCommand 개체를 가져옵니다. |
InitializeCommand(DbCommand) |
CommandTimeout에 대한 Transaction, CommandType, UpdateRowSource 및 DbCommand 속성을 다시 설정합니다. (다음에서 상속됨 DbCommandBuilder) |
InitializeLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다. (다음에서 상속됨 MarshalByRefObject) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
MemberwiseClone(Boolean) |
현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
QuoteIdentifier(String) |
올바른 카탈로그에서 따옴표 붙지 않은 식별자가 제공되는 경우 따옴표 붙은 올바른 형식의 해당 식별자를 반환합니다. 여기에는 식별자에 포함된 모든 따옴표를 이스케이프하는 작업이 포함됩니다. |
RefreshSchema() |
이 명령 작성기와 관련된 명령을 지웁니다. |
RefreshSchema() |
이 DbCommandBuilder와 연결된 명령을 지웁니다. (다음에서 상속됨 DbCommandBuilder) |
RowUpdatingHandler(RowUpdatingEventArgs) |
RowUpdating 이벤트에 대한 이벤트 처리기를 추가합니다. (다음에서 상속됨 DbCommandBuilder) |
SetRowUpdatingHandler(DbDataAdapter) |
DbCommandBuilder에 대한 RowUpdating 이벤트를 처리하기 위해 DbDataAdapter를 등록합니다. (다음에서 상속됨 DbCommandBuilder) |
ToString() |
Component의 이름이 포함된 String을 반환합니다(있는 경우). 이 메서드는 재정의할 수 없습니다. (다음에서 상속됨 Component) |
UnquoteIdentifier(String) |
따옴표 붙은 식별자가 제공되는 경우 따옴표 붙지 않은 올바른 형식의 해당 식별자를 반환합니다. 여기에는 식별자에 포함된 모든 따옴표를 이스케이프 해제하는 작업이 포함됩니다. |
이벤트
Disposed |
Dispose() 메서드를 호출하여 구성 요소를 삭제할 때 발생합니다. (다음에서 상속됨 Component) |
적용 대상
추가 정보
.NET