SqlCeCommandBuilder 클래스
TOC
콘텐츠의 테이블 축소
콘텐츠의 테이블 확장

SqlCeCommandBuilder 클래스

관련 데이터베이스를 사용하여 DataSet에 변경한 내용을 조정하는 데 사용되는 단일 테이블 명령을 자동으로 생성하는 방법을 제공합니다. 이 클래스는 상속될 수 없습니다.

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.Data.Common.DbCommandBuilder
        System.Data.SqlServerCe.SqlCeCommandBuilder

네임스페이스:  System.Data.SqlServerCe
어셈블리:  System.Data.SqlServerCe(System.Data.SqlServerCe.dll)

public sealed class SqlCeCommandBuilder : DbCommandBuilder

SqlCeCommandBuilder 유형에서 다음 멤버를 표시합니다.

  이름설명
공용 메서드SqlCeCommandBuilder()SqlCeCommandBuilder 클래스의 새 인스턴스를 초기화합니다.
공용 메서드SqlCeCommandBuilder(SqlCeDataAdapter)관련된 SqlCeDataAdapterSqlCeCommand 개체를 사용하여 SqlCeCommandBuilder 클래스의 새 인스턴스를 초기화합니다.
맨 위로 이동

  이름설명
보호된 속성CanRaiseEvents (Component에서 상속)
공용 속성CatalogLocationSQL Server Compact에서는 지원되지 않습니다. (DbCommandBuilder.CatalogLocation을(를) 재정의함)
공용 속성CatalogSeparatorSQL Server Compact에서는 지원되지 않습니다. (DbCommandBuilder.CatalogSeparator을(를) 재정의함)
공용 속성ConflictOptionSqlCeCommandBuilder가 사용할 ConflictOption을 지정합니다. (DbCommandBuilder.ConflictOption을(를) 재정의함)
공용 속성Container (Component에서 상속)
공용 속성DataAdapterSQL 문이 자동으로 생성되는 SqlCeDataAdapter 개체를 가져오거나 설정합니다.
보호된 속성DesignMode (Component에서 상속)
보호된 속성Events (Component에서 상속)
공용 속성QuotePrefix이름에 공백 또는 예약된 토큰과 같은 문자가 포함된 SQL Server 데이터베이스 개체(예: 테이블 또는 열)를 지정할 때 사용할 시작 문자를 가져오거나 설정합니다. (DbCommandBuilder.QuotePrefix을(를) 재정의함)
공용 속성QuoteSuffix이름에 공백 또는 예약된 토큰과 같은 문자가 포함된 SQL Server 데이터베이스 개체(예: 테이블 또는 열)를 지정할 때 사용할 끝 문자를 가져오거나 설정합니다. (DbCommandBuilder.QuoteSuffix을(를) 재정의함)
공용 속성SchemaSeparatorSQL Server Compact에서는 지원되지 않습니다. (DbCommandBuilder.SchemaSeparator을(를) 재정의함)
공용 속성SetAllValues (DbCommandBuilder에서 상속)
공용 속성Site (Component에서 상속)
맨 위로 이동

  이름설명
보호된 메서드ApplyParameterInfo (DbCommandBuilder에서 상속)
공용 메서드CreateObjRef (MarshalByRefObject에서 상속)
공용 메서드Dispose() (Component에서 상속)
보호된 메서드Dispose(Boolean) (DbCommandBuilder에서 상속)
공용 메서드Equals (Object에서 상속)
보호된 메서드Finalize (Component에서 상속)
공용 메서드GetDeleteCommand()응용 프로그램에서 SqlCeDataAdapterUpdate를 호출하면, 데이터베이스에서 삭제를 수행하는 데 필요한 자동 생성된 SqlCeCommand 개체를 가져옵니다.
공용 메서드GetDeleteCommand(Boolean) (DbCommandBuilder에서 상속)
공용 메서드GetHashCode (Object에서 상속)
공용 메서드GetInsertCommand()응용 프로그램에서 SqlCeDataAdapterUpdate를 호출하면, 데이터베이스에서 삽입을 수행하는 데 필요한 자동 생성된 SqlCeCommand 개체를 가져옵니다.
공용 메서드GetInsertCommand(Boolean) (DbCommandBuilder에서 상속)
공용 메서드GetLifetimeService (MarshalByRefObject에서 상속)
보호된 메서드GetParameterName(Int32) (DbCommandBuilder에서 상속)
보호된 메서드GetParameterName(String) (DbCommandBuilder에서 상속)
보호된 메서드GetParameterPlaceholder (DbCommandBuilder에서 상속)
보호된 메서드GetSchemaTable (DbCommandBuilder에서 상속)
보호된 메서드GetService (Component에서 상속)
공용 메서드GetType (Object에서 상속)
공용 메서드GetUpdateCommand()응용 프로그램에서 SqlCeDataAdapterUpdate를 호출하면, 데이터베이스에서 업데이트를 수행하는 데 필요한 자동 생성된 SqlCeCommand 개체를 가져옵니다.
공용 메서드GetUpdateCommand(Boolean) (DbCommandBuilder에서 상속)
보호된 메서드InitializeCommand (DbCommandBuilder에서 상속)
공용 메서드InitializeLifetimeService (MarshalByRefObject에서 상속)
보호된 메서드MemberwiseClone() (Object에서 상속)
보호된 메서드MemberwiseClone(Boolean) (MarshalByRefObject에서 상속)
공용 메서드QuoteIdentifier지정된 식별자의 따옴표 붙은 올바른 형식을 반환합니다. (DbCommandBuilder.QuoteIdentifier(String)을(를) 재정의함)
공용 메서드RefreshSchema (DbCommandBuilder에서 상속)
보호된 메서드RowUpdatingHandler (DbCommandBuilder에서 상속)
보호된 메서드SetRowUpdatingHandler (DbCommandBuilder에서 상속)
공용 메서드ToString (Component에서 상속)
공용 메서드UnquoteIdentifier지정된 식별자의 따옴표가 없는 올바른 형식을 반환합니다. (DbCommandBuilder.UnquoteIdentifier(String)을(를) 재정의함)
맨 위로 이동

  이름설명
공용 이벤트Disposed (Component에서 상속)
맨 위로 이동

SelectCommand 속성을 설정할 경우 단일 테이블 업데이트를 위한 Transact-SQL 문을 자동으로 생성하는 SqlCeCommandBuilder 개체를 만들 수 있습니다.

DataAdapter 속성을 설정할 때마다 SqlCeCommandBuilder가 자체를 RowUpdating 이벤트의 수신기로서 등록합니다. 한 번에 하나의 SqlCeDataAdapterSqlCeCommandBuilder 개체만을 서로 연결할 수 있습니다.

INSERT, UPDATE 또는 DELETE 문을 생성하려면, SqlCeCommandBuilderSelectCommand 속성을 사용하여 필요한 메타데이터 집합을 자동으로 검색합니다. 메타데이터를 검색한 후에, 예를 들어 첫 번째 업데이트 후에 SelectCommand를 변경하면 RefreshSchema() 메서드를 호출하여 메타데이터를 업데이트해야 합니다.

SelectCommand은 적어도 하나의 기본 키나 특수 열도 반환해야 합니다. 기본 키나 특수 열이 하나도 없으면, InvalidOperation 예외가 생성되며 명령은 생성되지 않습니다.

또한 SqlCeCommandBuilderSelectCommand에서 참조하는 ConnectionTransaction 속성도 사용합니다. 이러한 속성이 수정되거나 SelectCommand 자체가 바뀌면, 사용자는 RefreshSchema()를 호출해야 합니다. 그렇지 않으면 InsertCommand, UpdateCommandDeleteCommand 속성이 이전의 값을 보유합니다.

Dispose()를 호출하면, SqlCeCommandBuilderSqlCeDataAdapter에서 분리되고 생성된 명령은 더 이상 사용되지 않습니다.

다음 예제에서는 SqlCeDataAdapterSqlCeConnection과 함께 SqlCeCommand를 사용하여 데이터 원본에서 행을 선택합니다. 이 예제에는 연결 문자열, 쿼리 문자열 및 데이터베이스 테이블 이름인 문자열이 전달됩니다. 그런 다음 예제에서는 SqlCeCommandBuilder를 만듭니다. 그런 다음 데이터 어댑터는 해당 명령 작성기를 사용하여 수정된 DataSet을 로컬 데이터베이스에 업데이트합니다.

try
{
    SqlCeConnection conn = new SqlCeConnection("Data Source = MyDatabase.sdf");
    conn.Open();

    SqlCeCommand cmd = conn.CreateCommand();
    cmd.CommandText = "SELECT * FROM employees";

    SqlCeDataAdapter adp = new SqlCeDataAdapter(cmd);

    SqlCeCommandBuilder cb = new SqlCeCommandBuilder();
    cb.DataAdapter = adp;

    MessageBox.Show(cb.GetUpdateCommand().CommandText);
    MessageBox.Show(cb.GetInsertCommand().CommandText);
    MessageBox.Show(cb.GetDeleteCommand().CommandText);

    DataSet ds = new DataSet("test");
    adp.Fill(ds);

    // Modify the contents of the DataSet
    //
    ds.Tables[0].Rows[0]["First Name"] = "Joe";

    adp.Update(ds);

}
catch (Exception e1)
{
    Console.WriteLine(e1.ToString());
}


이 형식의 모든 public static(Microsoft Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인스턴스 멤버는 스레드로부터의 안전성이 보장되지 않습니다.
표시:
© 2016 Microsoft