SqlCommandBuilder Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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::ComponentModel::Component
public ref class SqlCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public sealed class SqlCommandBuilder : System.ComponentModel.Component
public sealed class SqlCommandBuilder : System.Data.Common.DbCommandBuilder
type SqlCommandBuilder = class
inherit Component
type SqlCommandBuilder = class
inherit DbCommandBuilder
Public NotInheritable Class SqlCommandBuilder
Inherits Component
Public NotInheritable Class SqlCommandBuilder
Inherits DbCommandBuilder
- Dziedziczenie
- Dziedziczenie
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 Component i opcjonalnie zwalnia zasoby zarządzane. (Odziedziczone po Component) |
Dispose(Boolean) |
Zwalnia zasoby niezarządzane używane przez element DbCommandBuilder i opcjonalnie zwalnia zasoby zarządzane. (Odziedziczone po DbCommandBuilder) |
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 |
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) |