OleDbCommandBuilder Class

Definition

연결된 데이터베이스에서 DataSet의 변경 내용을 조정하는 데 사용되는 단일 테이블 명령을 자동으로 생성합니다.Automatically generates single-table commands that are used to reconcile changes made to a DataSet with the associated database. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

public ref class OleDbCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public ref class OleDbCommandBuilder sealed : System::ComponentModel::Component
public sealed class OleDbCommandBuilder : System.Data.Common.DbCommandBuilder
public sealed class OleDbCommandBuilder : System.ComponentModel.Component
type OleDbCommandBuilder = class
    inherit DbCommandBuilder
type OleDbCommandBuilder = class
    inherit Component
Public NotInheritable Class OleDbCommandBuilder
Inherits DbCommandBuilder
Public NotInheritable Class OleDbCommandBuilder
Inherits Component
Inheritance
Inheritance
OleDbCommandBuilder

Examples

다음 예에서는 OleDbDataAdapterOleDbConnection함께 OleDbCommand를 사용 하 여 데이터 원본에서 행을 선택 합니다.The following example uses the OleDbCommand, along OleDbDataAdapter and OleDbConnection, to select rows from a data source. 이 예에서는 초기화 된 DataSet, 연결 문자열, SQL SELECT 문인 쿼리 문자열 및 데이터 원본 테이블의 이름인 문자열을 전달 합니다.The example is passed an initialized DataSet, a connection string, a query string that is an SQL SELECT statement, and a string that is the name of the data source table. 그런 다음이 예제에서는 OleDbCommandBuilder를 만듭니다.The example then creates an OleDbCommandBuilder.

public static DataSet UpdateRows(string connectionString,
    string queryString, string tableName)
{
    DataSet dataSet = new DataSet();
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbDataAdapter adapter = new OleDbDataAdapter();
        adapter.SelectCommand = new OleDbCommand(queryString, connection);
        OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter);

        connection.Open();

        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

        cb.GetDeleteCommand();
        //Without the OleDbCommandBuilder this line would fail
        adapter.Update(dataSet, tableName);

        connection.Close();
    }
    return dataSet;
}
Public Shared Function UpdateRows(ByVal connectionString As String, _
ByVal queryString As String, ByVal tableName As String) As DataSet

    Dim dataSet As New DataSet()

    Using connection As New OleDbConnection(connectionString)
        Dim adapter As New OleDbDataAdapter()
        adapter.SelectCommand = New OleDbCommand(queryString, connection)
        Dim builder As New OleDbCommandBuilder(adapter)

        connection.Open()

        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

        builder.GetUpdateCommand()

        ' Without the OleDbCommandBuilder this line would fail.
        adapter.Update(dataSet, tableName)
    End Using

    Return dataSet
End Function

Remarks

OleDbDataAdapter는 연결 된 데이터 원본을 사용 하 여 DataSet에 대 한 변경 내용을 조정 하는 데 필요한 SQL 문을 자동으로 생성 하지 않습니다.The OleDbDataAdapter does not automatically generate the SQL statements required to reconcile changes made to a DataSet with the associated data source. 그러나 OleDbDataAdapterSelectCommand 속성을 설정한 경우 OleDbCommandBuilder 개체를 만들어 단일 테이블 업데이트에 대 한 SQL 문을 자동으로 생성할 수 있습니다.However, you can create an OleDbCommandBuilder object to automatically generate SQL statements for single-table updates if you set the SelectCommand property of the OleDbDataAdapter. 그러면 설정 하지 않은 추가 SQL 문이 OleDbCommandBuilder에서 생성 됩니다.Then, any additional SQL statements that you do not set are generated by the OleDbCommandBuilder.

OleDbCommandBuilder DataAdapter 속성을 설정할 때마다 RowUpdating 이벤트에 대 한 수신기로 등록 됩니다.The OleDbCommandBuilder registers itself as a listener for RowUpdating events whenever you set the DataAdapter property. 한 번에 하나의 OleDbDataAdapter 또는 OleDbCommandBuilder 개체를 서로 연결할 수 있습니다.You can only associate one OleDbDataAdapter or OleDbCommandBuilder object with each other at one time.

INSERT, UPDATE 또는 DELETE 문을 생성 하기 위해 OleDbCommandBuilderSelectCommand 속성을 사용 하 여 필요한 메타 데이터 집합을 자동으로 검색 합니다.To generate INSERT, UPDATE, or DELETE statements, the OleDbCommandBuilder uses the SelectCommand property to retrieve a required set of metadata automatically. 첫 번째 업데이트 후와 같이 메타 데이터를 검색 한 후 SelectCommand를 변경 하는 경우 RefreshSchema 메서드를 호출 하 여 메타 데이터를 업데이트 해야 합니다.If you change the SelectCommand after the metadata is retrieved, such as after the first update, you should call the RefreshSchema method to update the metadata.

또한 OleDbCommandBuilderSelectCommand에서 참조 하는 Connection, CommandTimeoutTransaction 속성을 사용 합니다.The OleDbCommandBuilder also uses the Connection, CommandTimeout, and Transaction properties referenced by the SelectCommand. 이러한 속성 중 하나 이상이 수정 되었거나 SelectCommand 자체가 대체 된 경우에는 RefreshSchema를 호출 해야 합니다.The user should call RefreshSchema if one or more of these properties are modified, or if the SelectCommand itself is replaced. 그렇지 않으면 InsertCommand, UpdateCommandDeleteCommand 속성이 이전 값을 유지 합니다.Otherwise the InsertCommand, UpdateCommand, and DeleteCommand properties retain their previous values.

Dispose를 호출 하면 OleDbCommandBuilder OleDbDataAdapter에서 연결이 해제 되 고 생성 된 명령이 더 이상 사용 되지 않습니다.If you call Dispose, the OleDbCommandBuilder is disassociated from the OleDbDataAdapter, and the generated commands are no longer used.

Constructors

OleDbCommandBuilder() OleDbCommandBuilder 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the OleDbCommandBuilder class.
OleDbCommandBuilder(OleDbDataAdapter)

관련 OleDbCommandBuilder 개체를 사용하여 OleDbDataAdapter 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the OleDbCommandBuilder class with the associated OleDbDataAdapter object.

Properties

CanRaiseEvents

구성 요소 이벤트를 발생 시킬 수 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the component can raise an event.

(Inherited from Component)
CatalogLocation

DbCommandBuilder 클래스의 인스턴스에 대한 CatalogLocation을 가져오거나 설정합니다.Gets or sets the CatalogLocation for an instance of the DbCommandBuilder class.

(Inherited from DbCommandBuilder)
CatalogSeparator

DbCommandBuilder 클래스의 인스턴스에 대한 카탈로그 구분 기호로 사용되는 문자열을 가져오거나 설정합니다.Gets or sets a string used as the catalog separator for an instance of the DbCommandBuilder class.

(Inherited from DbCommandBuilder)
ConflictOption

ConflictOption가 사용할 DbCommandBuilder을 지정합니다.Specifies which ConflictOption is to be used by the DbCommandBuilder.

(Inherited from DbCommandBuilder)
Container

IContainer을 포함하는 Component를 가져옵니다.Gets the IContainer that contains the Component.

(Inherited from Component)
DataAdapter

SQL 문이 자동으로 생성되는 OleDbDataAdapter 개체를 가져오거나 설정합니다.Gets or sets an OleDbDataAdapter object for which SQL statements are automatically generated.

DesignMode

Component가 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
Events

Component에 연결된 이벤트 처리기의 목록을 가져옵니다.Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
QuotePrefix

시작 문자 또는 이름 공백 또는 예약 된 토큰과 같은 문자가 포함 된 데이터베이스 개체 (예: 테이블 또는 열)을 지정할 때 사용 하는 문자 값을 가져오거나 설정 합니다.Gets or sets the beginning character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens.

QuotePrefix

시작 문자 또는 이름 공백 또는 예약 된 토큰과 같은 문자가 포함 된 데이터베이스 개체 (예: 테이블 또는 열)을 지정할 때 사용 하는 문자 값을 가져오거나 설정 합니다.Gets or sets the beginning character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens.

(Inherited from DbCommandBuilder)
QuoteSuffix

끝 문자 또는 이름 공백 또는 예약 된 토큰과 같은 문자가 포함 된 데이터베이스 개체 (예: 테이블 또는 열)을 지정할 때 사용 하는 문자열 값을 가져오거나 설정 합니다.Gets or sets the ending character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens.

QuoteSuffix

끝 문자 또는 이름 공백 또는 예약 된 토큰과 같은 문자가 포함 된 데이터베이스 개체 (예: 테이블 또는 열)을 지정할 때 사용 하는 문자열 값을 가져오거나 설정 합니다.Gets or sets the ending character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens.

(Inherited from DbCommandBuilder)
SchemaSeparator

스키마 식별자와 다른 식별자 간의 구분 기호로 사용할 문자를 가져오거나 설정 합니다.Gets or sets the character to be used for the separator between the schema identifier and any other identifiers.

(Inherited from DbCommandBuilder)
SetAllValues

Update 문에 모든 열 값이 포함 되거나만 변경된 된 되는지 여부를 지정 합니다.Specifies whether all column values in an update statement are included or only changed ones.

(Inherited from DbCommandBuilder)
Site

ComponentISite를 가져오거나 설정합니다.Gets or sets the ISite of the Component.

(Inherited from Component)

Methods

ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

DbCommandBuilder 클래스의 공급자 구현에서 추가 매개 변수 속성을 처리할 수 있도록 합니다.Allows the provider implementation of the DbCommandBuilder class to handle additional parameter properties.

(Inherited from DbCommandBuilder)
CreateObjRef(Type)

원격 개체와 통신 하는 데 프록시를 생성 하는 데 필요한 모든 관련 정보를 포함 하는 개체를 만듭니다.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
DeriveParameters(OleDbCommand)

OleDbCommand에 지정된 저장 프로시저의 매개 변수 정보를 검색하여 지정된 Parameters 개체의 OleDbCommand 컬렉션을 채웁니다.Retrieves parameter information from the stored procedure specified in the OleDbCommand and populates the Parameters collection of the specified OleDbCommand object.

Dispose() Component에서 사용한 모든 리소스를 해제합니다.Releases all resources used by the Component. (Inherited from Component)
Dispose(Boolean) DbCommandBuilder에서 사용한 관리되지 않는 리소스를 해제하고 선택적으로 관리되는 리소스를 해제합니다.Releases the unmanaged resources used by the DbCommandBuilder and optionally releases the managed resources. (Inherited from DbCommandBuilder)
Dispose(Boolean) Component에서 사용한 관리되지 않는 리소스를 해제하고 선택적으로 관리되는 리소스를 해제합니다.Releases the unmanaged resources used by the Component and optionally releases the managed resources. (Inherited from Component)
Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetDeleteCommand()

데이터 소스에서 삭제하는 데 필요한 자동으로 생성된 OleDbCommand 개체를 가져옵니다.Gets the automatically generated OleDbCommand object required to perform deletions at the data source.

GetDeleteCommand(Boolean)

데이터 소스에서 삭제하는 데 필요한 자동으로 생성된 OleDbCommand 개체를 가져옵니다.Gets the automatically generated OleDbCommand object required to perform deletions at the data source.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetInsertCommand()

데이터 소스에서 삽입하는 데 필요한 자동으로 생성된 OleDbCommand 개체를 가져옵니다.Gets the automatically generated OleDbCommand object required to perform insertions at the data source.

GetInsertCommand(Boolean)

데이터 소스에서 삽입하는 데 필요한 자동으로 생성된 OleDbCommand 개체를 가져옵니다.Gets the automatically generated OleDbCommand object required to perform insertions at the data source.

GetLifetimeService()

이 인스턴스의 수명 정책을 제어 하는 현재의 수명 서비스 개체를 검색 합니다.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetParameterName(Int32)

@p# 형식으로 지정된 매개 변수의 이름을 반환합니다.Returns the name of the specified parameter in the format of @p#. 사용자 지정 명령 작성기를 만들 때 사용 합니다.Use when building a custom command builder.

(Inherited from DbCommandBuilder)
GetParameterName(String)

부분 매개 변수 이름이 지정 된 전체 매개 변수 이름을 반환 합니다.Returns the full parameter name, given the partial parameter name.

(Inherited from DbCommandBuilder)
GetParameterPlaceholder(Int32)

연결 된 SQL 문의 매개 변수 자리 표시자를 반환합니다.Returns the placeholder for the parameter in the associated SQL statement.

(Inherited from DbCommandBuilder)
GetSchemaTable(DbCommand)

DbCommandBuilder의 스키마 테이블을 반환합니다.Returns the schema table for the DbCommandBuilder.

(Inherited from DbCommandBuilder)
GetService(Type)

Component 또는 해당 Container에서 제공하는 서비스를 나타내는 개체를 반환합니다.Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
GetUpdateCommand()

데이터 소스에서 업데이트하는 데 필요한 자동으로 생성된 OleDbCommand 개체를 가져옵니다.Gets the automatically generated OleDbCommand object required to perform updates at the data source.

GetUpdateCommand(Boolean)

선택적으로 매개 변수 이름에 열을 사용하여 데이터 소스에서 업데이트하는 데 필요한 자동으로 생성된 OleDbCommand 개체를 가져옵니다.Gets the automatically generated OleDbCommand object required to perform updates at the data source, optionally using columns for parameter names.

InitializeCommand(DbCommand)

CommandTimeout에 대한 Transaction, CommandType, UpdateRowSourceDbCommand 속성을 다시 설정합니다.Resets the CommandTimeout, Transaction, CommandType, and UpdateRowSource properties on the DbCommand.

(Inherited from DbCommandBuilder)
InitializeLifetimeService()

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
QuoteIdentifier(String)

올바른 카탈로그의 경우 따옴표 붙지 않은 식별자를 지정 된 된 따옴표 붙은 올바른 반환 형식의 해당 식별자입니다.Given an unquoted identifier in the correct catalog case, returns the correct quoted form of that identifier. 여기에 식별자에 포함 된 모든 따옴표를 이스케이프 합니다.This includes correctly escaping any embedded quotes in the identifier.

QuoteIdentifier(String, OleDbConnection)

올바른 카탈로그의 경우 따옴표 붙지 않은 식별자를 지정 된 된 따옴표 붙은 올바른 반환 형식의 해당 식별자입니다.Given an unquoted identifier in the correct catalog case, returns the correct quoted form of that identifier. 여기에 식별자에 포함 된 모든 따옴표를 이스케이프 합니다.This includes correctly escaping any embedded quotes in the identifier.

RefreshSchema()

OleDbCommandBuilder와 연결된 명령을 지웁니다.Clears the commands associated with this OleDbCommandBuilder.

RefreshSchema()

DbCommandBuilder와 연결된 명령을 지웁니다.Clears the commands associated with this DbCommandBuilder.

(Inherited from DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

RowUpdating 이벤트에 대한 이벤트 처리기를 추가합니다.Adds an event handler for the RowUpdating event.

(Inherited from DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

DbCommandBuilder에 대한 RowUpdating 이벤트를 처리하기 위해 DbDataAdapter를 등록합니다.Registers the DbCommandBuilder to handle the RowUpdating event for a DbDataAdapter.

(Inherited from DbCommandBuilder)
ToString()

Component의 이름이 포함된 String을 반환합니다(있는 경우).Returns a String containing the name of the Component, if any. 이 메서드는 재정의할 수 없습니다.This method should not be overridden.

(Inherited from Component)
UnquoteIdentifier(String)

따옴표 붙은 식별자를 지정 된 따옴표 붙지 않은 올바른 형식의 해당 식별자를 반환합니다.Given a quoted identifier, returns the correct unquoted form of that identifier. 여기에 올바르게 이스케이프 되지 않은 포함 된 모든 따옴표 식별자에서입니다.This includes correctly un-escaping any embedded quotes in the identifier.

UnquoteIdentifier(String, OleDbConnection)

따옴표 붙은 식별자를 지정 된 따옴표 붙지 않은 올바른 형식의 해당 식별자를 반환합니다.Given a quoted identifier, returns the correct unquoted form of that identifier. 여기에 올바르게 이스케이프 되지 않은 포함 된 모든 따옴표 식별자에서입니다.This includes correctly un-escaping any embedded quotes in the identifier.

Events

Disposed

Dispose() 메서드를 호출하여 구성 요소를 삭제할 때 발생합니다.Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)

Applies to

See also