다음을 통해 공유


OdbcCommandBuilder 클래스

정의

연결된 데이터 소스로 DataSet의 변경 내용을 조정하는 데 사용되는 단일 테이블 명령을 자동으로 생성합니다. 이 클래스는 상속될 수 없습니다.

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

예제

다음 예제에서는 및 와 OdbcConnection함께 OdbcDataAdapter 를 사용하여 OdbcCommand데이터 원본에서 행을 선택합니다. 이 예제에서는 초기화된 DataSet, 연결 문자열, SQL SELECT 문인 쿼리 문자열 및 데이터 원본 테이블의 이름인 문자열을 전달합니다. 그런 다음, 이 예제에서는 를 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 New DataSet()

    Using connection As New OdbcConnection(connectionString)
        Dim adapter As New OdbcDataAdapter()
        adapter.SelectCommand = _
            New OdbcCommand(queryString, connection)
        Dim builder As 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 데이터 원본과 연결된 의 변경 내용을 DataSet 조정하는 데 필요한 SQL 문을 자동으로 생성하지 않습니다. 그러나 의 속성을 OdbcDataAdapter설정하여 단일 테이블 업데이트에 대한 SQL 문을 생성하는 개체를 SelectCommand 만들 OdbcCommandBuilder 수 있습니다. 그런 다음 은 OdbcCommandBuilder 설정하지 않은 추가 SQL 문을 생성합니다.

와 해당 OdbcCommandBuilder 항목 간의 OdbcDataAdapter 관계는 항상 일대일입니다. 이 서신을 만들려면 개체의 OdbcDataAdapterOdbcCommandBuilder 속성을 설정합니다. 이로 인해 는 OdbcCommandBuilder 에 영향을 주는 이벤트의 출력 RowUpdating 을 생성하는 수신기로 등록됩니다 DataSet.

INSERT, UPDATE 또는 DELETE 문을 생성하기 위해 는 OdbcCommandBuilder 속성을 사용하여 SelectCommand 필요한 메타데이터 집합을 검색합니다. 첫 번째 업데이트 후와 같이 메타데이터가 검색된 후 값을 SelectCommand 변경하는 경우 메서드를 RefreshSchema 호출하여 메타데이터를 업데이트해야 합니다.

참고

속성에 SelectCommand 할당된 SELECT 문이 별칭이 지정된 열 이름을 사용하는 경우 결과 INSERT, UPDATE 및 DELETE 문이 부정확하거나 실패할 수 있습니다. 기본 ODBC 드라이버가 별칭 열 이름에 적절한 기본 열 이름을 제공할 수 없는 경우(의 SQL_DESC_BASE_COLUMN_NAME 값 SQLColAttribute사용) 생성된 INSERT, UPDATE 및 DELETE 문에서 별칭 이름을 사용할 수 있습니다. 예를 들어 Microsoft ODBC Driver for Oracle은 별칭 이름을 기본 열 이름으로 반환합니다. 따라서 생성된 INSERT, UPDATE 및 DELETE 문으로 인해 오류가 발생합니다.

OdbcCommandBuilder 에서 참조하는 ConnectionSelectCommand, CommandTimeoutTransaction 속성도 사용합니다. 사용자는 이러한 속성 중 하나 이상이 수정되거나 속성 자체의 값이 SelectCommand 변경된 경우 를 호출 RefreshSchema 해야 합니다. 그렇지 않으면 , UpdateCommandDeleteCommand 속성은 InsertCommand이전 값을 유지합니다.

OdbcCommandBuilder 호출Dispose하는 경우 는 에서 OdbcDataAdapter연결되지 않으며 생성된 명령은 더 이상 사용되지 않습니다.

생성자

OdbcCommandBuilder()

OdbcCommandBuilder 클래스의 새 인스턴스를 초기화합니다.

OdbcCommandBuilder(OdbcDataAdapter)

관련 OdbcCommandBuilder 개체를 사용하여 OdbcDataAdapter 클래스의 새 인스턴스를 초기화합니다.

속성

CanRaiseEvents

구성 요소가 이벤트를 발생시킬 수 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Component)
CatalogLocation

DbCommandBuilder 클래스의 인스턴스에 대한 CatalogLocation을 가져오거나 설정합니다.

(다음에서 상속됨 DbCommandBuilder)
CatalogSeparator

DbCommandBuilder 클래스의 인스턴스에 대한 카탈로그 구분 기호로 사용되는 문자열을 가져오거나 설정합니다.

(다음에서 상속됨 DbCommandBuilder)
ConflictOption

ConflictOption가 사용할 DbCommandBuilder을 지정합니다.

(다음에서 상속됨 DbCommandBuilder)
Container

IContainer을 포함하는 Component를 가져옵니다.

(다음에서 상속됨 Component)
DataAdapter

OdbcDataAdapter 개체에서 SQL 문을 만들 대상 OdbcCommandBuilder 개체를 가져오거나 설정합니다.

DesignMode

Component가 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Component)
Events

Component에 연결된 이벤트 처리기의 목록을 가져옵니다.

(다음에서 상속됨 Component)
QuotePrefix

이름에 공백 또는 예약된 토큰과 같은 문자가 포함된 데이터베이스 개체(예: 테이블 또는 열)에 대해 작업할 때 사용할 시작 문자를 가져오거나 설정합니다.

QuotePrefix

이름에 공백 또는 예약된 토큰과 같은 문자가 포함된 데이터베이스 개체(예: 테이블 또는 열)를 지정할 때 사용할 시작 문자를 가져오거나 설정합니다.

(다음에서 상속됨 DbCommandBuilder)
QuoteSuffix

이름에 공백 또는 예약된 토큰과 같은 문자가 포함된 데이터베이스 개체(예: 테이블 또는 열)에 대해 작업할 때 사용할 끝 문자를 가져오거나 설정합니다.

QuoteSuffix

이름에 공백 또는 예약된 토큰과 같은 문자가 포함된 데이터베이스 개체(예: 테이블 또는 열)를 지정할 때 사용할 끝 문자를 가져오거나 설정합니다.

(다음에서 상속됨 DbCommandBuilder)
SchemaSeparator

스키마 식별자와 다른 식별자 간의 구분 기호로 사용할 문자를 가져오거나 설정합니다.

(다음에서 상속됨 DbCommandBuilder)
SetAllValues

UPDATE 문에 모든 열 값이 포함되어 있는지 아니면 변경된 열 값만 포함되어 있는지를 지정합니다.

(다음에서 상속됨 DbCommandBuilder)
Site

ComponentISite를 가져오거나 설정합니다.

(다음에서 상속됨 Component)

메서드

ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

DbCommandBuilder 클래스의 공급자 구현에서 추가 매개 변수 속성을 처리할 수 있도록 합니다.

(다음에서 상속됨 DbCommandBuilder)
CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
DeriveParameters(OdbcCommand)

OdbcCommand에 지정된 저장 프로시저의 매개 변수 정보를 검색하여 지정된 Parameters 개체의 OdbcCommand 컬렉션을 채웁니다.

Dispose()

Component에서 사용하는 모든 리소스를 해제합니다.

(다음에서 상속됨 Component)
Dispose(Boolean)

DbCommandBuilder에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.

(다음에서 상속됨 DbCommandBuilder)
Dispose(Boolean)

Component에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.

(다음에서 상속됨 Component)
Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetDeleteCommand()

데이터 소스에서 삭제하는 데 필요한 자동으로 생성된 OdbcCommand 개체를 가져옵니다.

GetDeleteCommand(Boolean)

데이터 소스에서 삭제하는 데 필요한 자동으로 생성된 OdbcCommand 개체를 가져옵니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetInsertCommand()

데이터 소스에서 삽입하는 데 필요한 자동으로 생성된 OdbcCommand 개체를 가져옵니다.

GetInsertCommand(Boolean)

데이터 소스에서 삽입하는 데 필요한 자동으로 생성된 OdbcCommand 개체를 가져옵니다.

GetLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.

(다음에서 상속됨 MarshalByRefObject)
GetParameterName(Int32)

지정된 매개 변수의 이름을 형식으로 반환합니다 @p#. 사용자 지정 명령 작성기를 만들 때 사용합니다.

(다음에서 상속됨 DbCommandBuilder)
GetParameterName(String)

부분 매개 변수 이름이 제공된 경우 전체 매개 변수 이름을 반환합니다.

(다음에서 상속됨 DbCommandBuilder)
GetParameterPlaceholder(Int32)

연결된 SQL 문에서 매개 변수의 자리 표시자를 반환합니다.

(다음에서 상속됨 DbCommandBuilder)
GetSchemaTable(DbCommand)

DbCommandBuilder의 스키마 테이블을 반환합니다.

(다음에서 상속됨 DbCommandBuilder)
GetService(Type)

Component 또는 해당 Container에서 제공하는 서비스를 나타내는 개체를 반환합니다.

(다음에서 상속됨 Component)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
GetUpdateCommand()

데이터 소스에서 업데이트하는 데 필요한 자동으로 생성된 OdbcCommand 개체를 가져옵니다.

GetUpdateCommand(Boolean)

데이터 소스에서 업데이트하는 데 필요한 자동으로 생성된 OdbcCommand 개체를 가져옵니다.

InitializeCommand(DbCommand)

CommandTimeout에 대한 Transaction, CommandType, UpdateRowSourceDbCommand 속성을 다시 설정합니다.

(다음에서 상속됨 DbCommandBuilder)
InitializeLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
QuoteIdentifier(String, OdbcConnection)

올바른 카탈로그에서 따옴표 붙지 않은 식별자가 제공되는 경우 따옴표 붙은 올바른 형식의 해당 식별자를 반환합니다. 여기에는 식별자에 포함된 모든 따옴표를 이스케이프하는 작업이 포함됩니다.

QuoteIdentifier(String)

올바른 카탈로그에서 따옴표 붙지 않은 식별자가 제공되는 경우 따옴표 붙은 올바른 형식의 해당 식별자를 반환합니다. 여기에는 식별자에 포함된 모든 따옴표를 이스케이프하는 작업이 포함됩니다.

RefreshSchema()

OdbcCommandBuilder와 연결된 명령을 지웁니다.

RefreshSchema()

DbCommandBuilder와 연결된 명령을 지웁니다.

(다음에서 상속됨 DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

RowUpdating 이벤트에 대한 이벤트 처리기를 추가합니다.

(다음에서 상속됨 DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

DbCommandBuilder에 대한 RowUpdating 이벤트를 처리하기 위해 DbDataAdapter를 등록합니다.

(다음에서 상속됨 DbCommandBuilder)
ToString()

Component의 이름이 포함된 String을 반환합니다(있는 경우). 이 메서드는 재정의할 수 없습니다.

(다음에서 상속됨 Component)
UnquoteIdentifier(String, OdbcConnection)

따옴표 붙은 식별자가 제공된 경우 따옴표 붙지 않은 올바른 형식의 해당 식별자를 반환합니다. 여기에는 식별자에 포함된 모든 따옴표를 이스케이프 해제하는 작업이 포함됩니다.

UnquoteIdentifier(String)

따옴표 붙은 식별자가 제공된 경우 따옴표 붙지 않은 올바른 형식의 해당 식별자를 반환합니다. 여기에는 식별자에 포함된 모든 따옴표를 이스케이프 해제하는 작업이 포함됩니다.

이벤트

Disposed

Dispose() 메서드를 호출하여 구성 요소를 삭제할 때 발생합니다.

(다음에서 상속됨 Component)

적용 대상

추가 정보