OdbcCommandBuilder OdbcCommandBuilder OdbcCommandBuilder OdbcCommandBuilder Class

정의

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

public ref class OdbcCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public sealed class OdbcCommandBuilder : System.Data.Common.DbCommandBuilder
type OdbcCommandBuilder = class
    inherit DbCommandBuilder
Public NotInheritable Class OdbcCommandBuilder
Inherits DbCommandBuilder
상속

예제

다음 예제에서는 OdbcCommand와 함께 OdbcDataAdapterOdbcConnection, 데이터 원본에서 행을 선택 합니다.The following example uses OdbcCommand, together with OdbcDataAdapter and OdbcConnection, 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. 만듭니다는 OdbcCommandBuilder합니다.The example then creates an OdbcCommandBuilder.

public static DataSet SelectOdbcSrvRows(string connectionString,
    string queryString, string tableName)
{
    DataSet dataSet = new DataSet();
    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcDataAdapter adapter = new OdbcDataAdapter();
        adapter.SelectCommand =
            new OdbcCommand(queryString, connection);
        OdbcCommandBuilder builder =
            new OdbcCommandBuilder(adapter);

        connection.Open();

        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

        //Without the OdbcCommandBuilder this line would fail
        adapter.Update(dataSet, tableName);
    }
    return dataSet;
}
Public Function SelectOdbcSrvRows( _
    ByVal connectionString As String, ByVal queryString As String, _
    ByVal tableName As String) As DataSet

    Dim dataSet As DataSet = New DataSet

    Using connection As New OdbcConnection(connectionString)
        Dim adapter As New OdbcDataAdapter()
        adapter.SelectCommand = _
            New OdbcCommand(queryString, connection)
        Dim builder As OdbcCommandBuilder = _
            New OdbcCommandBuilder(adapter)

        connection.Open()

        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

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

    Return dataSet
End Function

설명

OdbcDataAdapter 변경 내용을 조정 하는 데 필요한 SQL 문을 자동으로 생성 하지 않습니다는 DataSet 데이터 소스와 연결 합니다.The OdbcDataAdapter does not automatically generate the SQL statements required to reconcile changes made to a DataSet associated with the data source. 만들 수 있습니다는 OdbcCommandBuilder 설정 하 여 단일 테이블 업데이트에 대 한 SQL 문을 생성 하는 개체를 SelectCommand 의 속성을 OdbcDataAdapter입니다.However, you can create an OdbcCommandBuilder object that generates SQL statements for single-table updates by setting the SelectCommand property of the OdbcDataAdapter. OdbcCommandBuilder 설정 하지 않으면 추가적인 모든 SQL 문을 생성 합니다.The OdbcCommandBuilder then generates any additional SQL statements that you do not set.

관계는 OdbcDataAdapter 및 해당 OdbcCommandBuilder 한 일은 항상 있습니다.The relationship between an OdbcDataAdapter and its corresponding OdbcCommandBuilder is always one-to-one. 설정한이 관계를 만들려면 합니다 OdbcDataAdapter 의 속성을 OdbcCommandBuilder 개체입니다.To create this correspondence, you set the OdbcDataAdapter property of the OdbcCommandBuilder object. 이 인해 합니다 OdbcCommandBuilder 의 출력을 생성 하는 수신기로 자체 등록할 수 RowUpdating 영향을 주는 이벤트를 DataSet입니다.This causes the OdbcCommandBuilder to register itself as a listener, which produces the output of RowUpdating events that affect the DataSet.

INSERT, UPDATE 또는 DELETE 문을 생성 하는 OdbcCommandBuilder 사용 하 여는 SelectCommand 메타 데이터의 집합을 검색할 속성입니다.To generate INSERT, UPDATE, or DELETE statements, the OdbcCommandBuilder uses the SelectCommand property to retrieve a required set of metadata. 값을 변경 하는 경우 SelectCommand 메타 데이터를 검색 한 첫 번째 업데이트 이후 호출 해야 같은 후는 RefreshSchema 메타 데이터를 업데이트 하는 방법입니다.If you change the value of SelectCommand after the metadata has been retrieved, such as after the first update, you should then call the RefreshSchema method to update the metadata.

참고

SELECT 문의에 할당 하는 경우는 SelectCommand 속성 별칭이 지정 된 열 이름, 결과 삽입, 업데이트를 사용 하 고 DELETE 문을 정확 하지 않을 수 있습니다 또는 실패 합니다.If the SELECT statement assigned to the SelectCommand property uses aliased column names, the resulting INSERT, UPDATE, and DELETE statements may be inaccurate or fail. 기본 ODBC 드라이버는 열 별칭에 대 한 적절 한 기본 열 이름을 제공할 수 없는 경우 (SQL_DESC_BASE_COLUMN_NAME 값을 사용 하 여 SQLColAttribute), 생성 된 INSERT, UPDATE 및 DELETE 문에서 별칭을 사용할 수 있습니다.If the underlying ODBC driver cannot provide the appropriate base column name for the alias column name (using the SQL_DESC_BASE_COLUMN_NAME value of SQLColAttribute), the alias name could be used in the generated INSERT, UPDATE, and DELETE statements. 예를 들어 Microsoft ODBC Driver for Oracle 기본 열 이름 별칭을 반환합니다.For example, the Microsoft ODBC Driver for Oracle returns the alias name as the base column name. 따라서 생성 된 INSERT, UPDATE 및 DELETE 문은 오류가 발생 합니다.Therefore, the generated INSERT, UPDATE, and DELETE statements would cause errors.

OdbcCommandBuilder 도 사용 합니다 Connection, CommandTimeout, 및 Transaction 속성에서 참조 하는 SelectCommand.The OdbcCommandBuilder also uses the Connection, CommandTimeout, and Transaction properties referenced by the SelectCommand. 호출 해야 합니다 RefreshSchema 이러한 속성 중 하나 이상이 수정 되 면 아니면 값은 SelectCommand 속성 자체는 변경 합니다.The user should call RefreshSchema if one or more of these properties are modified, or if the value of the SelectCommand property itself is changed. 그렇지 않은 경우는 InsertCommand, UpdateCommand, 및 DeleteCommand 이전 값을 유지 하는 속성입니다.Otherwise the InsertCommand, UpdateCommand, and DeleteCommand properties retain their previous values.

호출 하는 경우 DisposeOdbcCommandBuilder 에서 분리를 OdbcDataAdapter, 및 생성된 된 명령을 더 이상 사용 합니다.If you call Dispose, the OdbcCommandBuilder is disassociated from the OdbcDataAdapter, and the generated commands are no longer used.

생성자

OdbcCommandBuilder() OdbcCommandBuilder() OdbcCommandBuilder() OdbcCommandBuilder()

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

OdbcCommandBuilder(OdbcDataAdapter) OdbcCommandBuilder(OdbcDataAdapter) OdbcCommandBuilder(OdbcDataAdapter) OdbcCommandBuilder(OdbcDataAdapter)

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

속성

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

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

(Inherited from Component)
Container Container Container Container

IContainer가 포함된 Component를 가져옵니다.Gets the IContainer that contains the Component.

(Inherited from Component)
DataAdapter DataAdapter DataAdapter DataAdapter

OdbcDataAdapter 개체에서 SQL 문을 만들 대상 OdbcCommandBuilder 개체를 가져오거나 설정합니다.Gets or sets an OdbcDataAdapter object for which this OdbcCommandBuilder object will generate SQL statements.

DesignMode DesignMode DesignMode DesignMode

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

(Inherited from Component)
Events Events Events Events

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

(Inherited from Component)
QuotePrefix QuotePrefix QuotePrefix QuotePrefix

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

QuoteSuffix QuoteSuffix QuoteSuffix QuoteSuffix

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

Site Site Site Site

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

(Inherited from Component)

메서드

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) 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(OdbcCommand) DeriveParameters(OdbcCommand) DeriveParameters(OdbcCommand) DeriveParameters(OdbcCommand)

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

Dispose() Dispose() Dispose() Dispose()

Component에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Component에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Inherited from Component)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetDeleteCommand() GetDeleteCommand() GetDeleteCommand() GetDeleteCommand()

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

GetDeleteCommand(Boolean) GetDeleteCommand(Boolean) GetDeleteCommand(Boolean) GetDeleteCommand(Boolean)

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

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetInsertCommand() GetInsertCommand() GetInsertCommand() GetInsertCommand()

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

GetInsertCommand(Boolean) GetInsertCommand(Boolean) GetInsertCommand(Boolean) GetInsertCommand(Boolean)

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

GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

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

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

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

(Inherited from Component)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
GetUpdateCommand() GetUpdateCommand() GetUpdateCommand() GetUpdateCommand()

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

GetUpdateCommand(Boolean) GetUpdateCommand(Boolean) GetUpdateCommand(Boolean) GetUpdateCommand(Boolean)

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

InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

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

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

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

(Inherited from MarshalByRefObject)
QuoteIdentifier(String) QuoteIdentifier(String) QuoteIdentifier(String) 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, OdbcConnection) QuoteIdentifier(String, OdbcConnection) QuoteIdentifier(String, OdbcConnection) QuoteIdentifier(String, OdbcConnection)

올바른 카탈로그에서 따옴표 붙지 않은 식별자가 제공되는 경우 따옴표 붙은 올바른 형식의 해당 식별자를 반환합니다.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() RefreshSchema() RefreshSchema() RefreshSchema()

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

ToString() ToString() ToString() 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) UnquoteIdentifier(String) UnquoteIdentifier(String) UnquoteIdentifier(String)

따옴표 붙은 식별자가 제공된 경우 따옴표 붙지 않은 올바른 형식의 해당 식별자를 반환합니다. 여기에는 식별자에 포함된 모든 따옴표를 이스케이프 해제하는 작업이 포함됩니다.Given a quoted identifier, returns the correct unquoted form of that identifier, including correctly unescaping any embedded quotes in the identifier.

UnquoteIdentifier(String, OdbcConnection) UnquoteIdentifier(String, OdbcConnection) UnquoteIdentifier(String, OdbcConnection) UnquoteIdentifier(String, OdbcConnection)

따옴표 붙은 식별자가 제공된 경우 따옴표 붙지 않은 올바른 형식의 해당 식별자를 반환합니다. 여기에는 식별자에 포함된 모든 따옴표를 이스케이프 해제하는 작업이 포함됩니다.Given a quoted identifier, returns the correct unquoted form of that identifier, including correctly unescaping any embedded quotes in the identifier.

이벤트

Disposed Disposed Disposed Disposed

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

(Inherited from Component)

적용 대상

추가 정보