SqlCommandBuilder Klasa

Definicja

Automatycznie generuje polecenia z jedną tabelą, które są używane do uzgadniania zmian wprowadzonych w DataSet skojarzonej bazie danych SQL Server. Klasa ta nie może być dziedziczona.

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

Przykłady

W poniższym przykładzie użyto SqlCommandelementu , wzdłuż SqlDataAdapter i SqlConnection, aby wybrać wiersze ze źródła danych. Przykład jest przekazywany parametry połączenia, ciąg zapytania, który jest instrukcją Transact-SQL SELECT i ciągiem, który jest nazwą tabeli bazy danych. W tym przykładzie zostanie utworzony element 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

Uwagi

Instrukcja SqlDataAdapter Transact-SQL nie generuje automatycznie instrukcji języka Transact-SQL wymaganych do uzgadniania zmian wprowadzonych DataSet w skojarzonym wystąpieniu SQL Server. Można jednak utworzyć SqlCommandBuilder obiekt, aby automatycznie wygenerować instrukcje języka Transact-SQL dla aktualizacji pojedynczej SqlDataAdaptertabeli, jeśli ustawisz SelectCommand właściwość . Następnie wszelkie dodatkowe instrukcje języka Transact-SQL, które nie zostały ustawione, są generowane przez SqlCommandBuilderelement .

Właściwość SqlCommandBuilder rejestruje się jako odbiornik dla RowUpdating zdarzeń za każdym razem, gdy właściwość zostanie ustawiona DataAdapter . Jednocześnie można skojarzyć tylko jeden SqlDataAdapter obiekt lub SqlCommandBuilder obiekt ze sobą.

Aby wygenerować instrukcje INSERT, UPDATE lub DELETE, SqlCommandBuilder właściwość używa SelectCommand właściwości do automatycznego pobierania wymaganego zestawu metadanych. W przypadku zmiany SelectCommand po pobraniu metadanych, takich jak po pierwszej aktualizacji, należy wywołać RefreshSchema metodę w celu zaktualizowania metadanych.

Element SelectCommand musi również zwrócić co najmniej jeden klucz podstawowy lub unikatową kolumnę. Jeśli żaden z nich nie istnieje, zostanie wygenerowany wyjątek InvalidOperation , a polecenia nie są generowane.

Obiekt SqlCommandBuilder używa Connectionrównież właściwości , CommandTimeouti Transaction , do których SelectCommandodwołuje się element . Użytkownik powinien wywołać metodę RefreshSchema , jeśli co najmniej jedna z tych właściwości zostanie zmodyfikowana lub jeśli SelectCommand sama zostanie zamieniona. InsertCommandW przeciwnym razie właściwości , UpdateCommandi DeleteCommand zachowują swoje poprzednie wartości.

Jeśli wywołasz metodę Dispose, SqlCommandBuilder element jest rozłączony z elementem SqlDataAdapter, a wygenerowane polecenia nie są już używane.

Konstruktory

SqlCommandBuilder()

Inicjuje nowe wystąpienie klasy SqlCommandBuilder.

SqlCommandBuilder(SqlDataAdapter)

Inicjuje SqlCommandBuilder nowe wystąpienie klasy ze skojarzonym SqlDataAdapter obiektem.

Właściwości

CanRaiseEvents

Pobiera wartość wskazującą, czy składnik może zgłosić zdarzenie.

(Odziedziczone po Component)
CatalogLocation

Pobiera lub ustawia CatalogLocation dla wystąpienia SqlCommandBuilder klasy .

CatalogSeparator

Pobiera lub ustawia ciąg używany jako separator wykazu dla wystąpienia SqlCommandBuilder klasy.

ConflictOption

Określa, który ConflictOption ma być używany przez element DbCommandBuilder.

(Odziedziczone po DbCommandBuilder)
Container

Pobiera element IContainer zawierający element Component.

(Odziedziczone po Component)
DataAdapter

Pobiera lub ustawia SqlDataAdapter obiekt, dla którego instrukcje Języka Transact-SQL są generowane automatycznie.

DesignMode

Pobiera wartość wskazującą, czy Component element jest obecnie w trybie projektowania.

(Odziedziczone po Component)
Events

Pobiera listę programów obsługi zdarzeń dołączonych do tego Componentelementu .

(Odziedziczone po Component)
QuotePrefix

Pobiera lub ustawia początkowy znak lub znaki do użycia podczas określania obiektów bazy danych SQL Server, takich jak tabele lub kolumny, których nazwy zawierają znaki, takie jak spacje lub tokeny zarezerwowane.

QuoteSuffix

Pobiera lub ustawia znak końcowy lub znaki do użycia podczas określania obiektów bazy danych SQL Server, takich jak tabele lub kolumny, których nazwy zawierają znaki, takie jak spacje lub tokeny zarezerwowane.

SchemaSeparator

Pobiera lub ustawia znak do użycia dla separatora między identyfikatorem schematu a innymi identyfikatorami.

SetAllValues

Określa, czy wszystkie wartości kolumn w instrukcji aktualizacji są uwzględniane, czy tylko zmienione.

(Odziedziczone po DbCommandBuilder)
Site

Pobiera lub ustawia ISite element .Component

(Odziedziczone po Component)

Metody

ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

Umożliwia implementacji DbCommandBuilder dostawcy klasy obsługę dodatkowych właściwości parametrów.

(Odziedziczone po DbCommandBuilder)
CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
DeriveParameters(SqlCommand)

Pobiera informacje o parametrach z procedury składowanej określonej w obiekcie SqlCommand i wypełnia Parameters kolekcję określonego SqlCommand obiektu.

Dispose()

Zwalnia wszelkie zasoby używane przez element Component.

(Odziedziczone po Component)
Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element DbCommandBuilder i opcjonalnie zwalnia zasoby zarządzane.

(Odziedziczone po DbCommandBuilder)
Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element Component i opcjonalnie zwalnia zasoby zarządzane.

(Odziedziczone po Component)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetDeleteCommand()

Pobiera automatycznie wygenerowany SqlCommand obiekt wymagany do usunięcia bazy danych.

GetDeleteCommand(Boolean)

Pobiera automatycznie wygenerowany SqlCommand obiekt, który jest wymagany do wykonania usuwania w bazie danych.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetInsertCommand()

Pobiera automatycznie wygenerowany SqlCommand obiekt wymagany do wykonywania wstawiania w bazie danych.

GetInsertCommand(Boolean)

Pobiera automatycznie wygenerowany SqlCommand obiekt, który jest wymagany do wykonywania wstawiania w bazie danych.

GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetParameterName(Int32)

Zwraca nazwę określonego parametru w formacie @p#. Użyj polecenia podczas tworzenia niestandardowego konstruktora poleceń.

(Odziedziczone po DbCommandBuilder)
GetParameterName(String)

Zwraca pełną nazwę parametru, przy użyciu częściowej nazwy parametru.

(Odziedziczone po DbCommandBuilder)
GetParameterPlaceholder(Int32)

Zwraca symbol zastępczy parametru w skojarzonej instrukcji SQL.

(Odziedziczone po DbCommandBuilder)
GetSchemaTable(DbCommand)

Zwraca tabelę schematu dla elementu DbCommandBuilder.

(Odziedziczone po DbCommandBuilder)
GetService(Type)

Zwraca obiekt reprezentujący usługę dostarczaną przez Component obiekt lub przez obiekt Container.

(Odziedziczone po Component)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
GetUpdateCommand()

Pobiera automatycznie wygenerowany SqlCommand obiekt wymagany do wykonywania aktualizacji bazy danych.

GetUpdateCommand(Boolean)

Pobiera automatycznie wygenerowany SqlCommand obiekt wymagany do wykonywania aktualizacji bazy danych.

InitializeCommand(DbCommand)

Resetuje CommandTimeoutwłaściwości , Transaction, CommandTypei UpdateRowSource w elemecie DbCommand.

(Odziedziczone po DbCommandBuilder)
InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia, aby kontrolować zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu.

(Odziedziczone po MarshalByRefObject)
QuoteIdentifier(String)

Biorąc pod uwagę niekwestionowany identyfikator w prawidłowym przypadku wykazu, zwraca poprawną postać cytowaną tego identyfikatora. Obejmuje to poprawne ucieczkę wszystkich osadzonych cudzysłowów w identyfikatorze.

RefreshSchema()

Czyści polecenia skojarzone z tym konstruktorem poleceń.

RefreshSchema()

Czyści polecenia skojarzone z tym DbCommandBuilderelementem .

(Odziedziczone po DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

Dodaje procedurę obsługi zdarzeń RowUpdating dla zdarzenia.

(Odziedziczone po DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

Rejestruje element DbCommandBuilder w celu obsługi RowUpdating zdarzenia dla .DbDataAdapter

(Odziedziczone po DbCommandBuilder)
ToString()

Zwraca wartość String zawierającą nazwę Componentobiektu , jeśli istnieje. Ta metoda nie powinna być zastępowana.

(Odziedziczone po Component)
UnquoteIdentifier(String)

Biorąc pod uwagę identyfikator cytowany, zwraca prawidłową niekwestionowaną formę tego identyfikatora. Obejmuje to poprawne odpakowywanie wszystkich osadzonych cudzysłowów w identyfikatorze.

Zdarzenia

Disposed

Występuje, gdy składnik jest usuwany przez wywołanie Dispose() metody .

(Odziedziczone po Component)

Dotyczy

Zobacz też