SqlCommandBuilder Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Automaticky vygeneruje příkazy s jednou tabulkou, které se používají k odsouhlasení změn provedených v souboru s přidruženou DataSet SQL Server databází. Tato třída se nemůže dědit.
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
- Dědičnost
- Dědičnost
Příklady
Následující příklad používá SqlCommand, spolu SqlDataAdapter a SqlConnection, k výběru řádků ze zdroje dat. Příklad je předán připojovací řetězec, řetězec dotazu, který je příkazem Transact-SQL SELECT, a řetězec, který je názvem databázové tabulky. Příklad pak vytvoří 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
Poznámky
Negeneruje SqlDataAdapter automaticky příkazy Jazyka Transact-SQL potřebné k odsouhlasení změn provedených v objektu s přidruženou DataSet instancí SQL Server. Pokud ale nastavíte SelectCommand vlastnost SqlDataAdapter, můžete vytvořit SqlCommandBuilder objekt pro automatické generování příkazů Jazyka Transact-SQL pro aktualizace s jednou tabulkou. Potom se všechny další příkazy Jazyka Transact-SQL, které nenastavíte, vygenerují pomocí SqlCommandBuilder.
Při každém nastavení DataAdapter vlastnosti se SqlCommandBuilder zaregistruje jako naslouchací proces pro RowUpdating události. Najednou můžete k sobě přidružit jenom jeden SqlDataAdapter objekt nebo SqlCommandBuilder objekt.
Pokud chcete generovat příkazy INSERT, UPDATE nebo DELETE, SqlCommandBuilder použije SelectCommand vlastnost k automatickému načtení požadované sady metadat. Pokud změníte SelectCommand hodnotu po načtení metadat, například po první aktualizaci, měli byste volat metodu RefreshSchema pro aktualizaci metadat.
Musí SelectCommand
také vrátit alespoň jeden primární klíč nebo jedinečný sloupec. Pokud žádná neexistuje, vygeneruje se výjimka InvalidOperation a příkazy se nevygenerují.
Používá SqlCommandBuilder také Connectionvlastnosti , CommandTimeouta, na Transaction které SelectCommandodkazuje . Uživatel by měl volat RefreshSchema , pokud jsou některé z těchto vlastností změněny nebo pokud SelectCommand je nahrazena samotná. V opačném případě si InsertCommandvlastnosti , UpdateCommanda DeleteCommand zachovají své předchozí hodnoty.
Pokud zavoláte Dispose, SqlCommandBuilder oddělí se přidružení od a vygenerované příkazy se už nebudou SqlDataAdapterpoužívat.
Konstruktory
SqlCommandBuilder() |
Inicializuje novou instanci SqlCommandBuilder třídy. |
SqlCommandBuilder(SqlDataAdapter) |
Inicializuje novou instanci SqlCommandBuilder třídy s přidruženým SqlDataAdapter objektem. |
Vlastnosti
CanRaiseEvents |
Získá hodnotu označující, zda komponenta může vyvolat událost. (Zděděno od Component) |
CatalogLocation |
Získá nebo nastaví CatalogLocation pro instanci SqlCommandBuilder třídy. |
CatalogSeparator |
Získá nebo nastaví řetězec použitý jako oddělovač katalogu pro instanci SqlCommandBuilder třídy. |
ConflictOption |
Určuje, která ConflictOption má být použita nástrojem DbCommandBuilder. (Zděděno od DbCommandBuilder) |
Container |
Získá objekt IContainer , který obsahuje Component. (Zděděno od Component) |
DataAdapter |
Získá nebo nastaví SqlDataAdapter objekt, pro který transact-SQL příkazy jsou automaticky generovány. |
DesignMode |
Získá hodnotu, která označuje, zda je aktuálně v režimu návrhu Component . (Zděděno od Component) |
Events |
Získá seznam obslužných rutin událostí, které jsou připojeny k tomuto Component. (Zděděno od Component) |
QuotePrefix |
Získá nebo nastaví počáteční znak nebo znaky použít při zadávání SQL Server databázové objekty, jako jsou tabulky nebo sloupce, jejichž názvy obsahují znaky, jako jsou mezery nebo vyhrazené tokeny. |
QuoteSuffix |
Získá nebo nastaví koncový znak nebo znaky použít při zadávání SQL Server databázových objektů, jako jsou tabulky nebo sloupce, jejichž názvy obsahují znaky, jako jsou mezery nebo vyhrazené tokeny. |
SchemaSeparator |
Získá nebo nastaví znak, který má být použit pro oddělovač mezi identifikátor schématu a jakékoli jiné identifikátory. |
SetAllValues |
Určuje, jestli jsou zahrnuty všechny hodnoty sloupců v příkazu update, nebo pouze hodnoty změněné. (Zděděno od DbCommandBuilder) |
Site |
Získá nebo nastaví ISite hodnotu Component. (Zděděno od Component) |
Metody
ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean) |
Umožňuje implementaci DbCommandBuilder zprostředkovatele třídy zpracovat další vlastnosti parametru. (Zděděno od DbCommandBuilder) |
CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy používaného ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
DeriveParameters(SqlCommand) |
Načte informace o parametrech z uložené procedury zadané v objektu SqlCommand a naplní kolekci Parameters zadaného SqlCommand objektu. |
Dispose() |
Uvolní všechny prostředky používané nástrojem Component. (Zděděno od Component) |
Dispose(Boolean) |
Uvolní nespravované prostředky používané Component nástrojem a volitelně uvolní spravované prostředky. (Zděděno od Component) |
Dispose(Boolean) |
Uvolní nespravované prostředky používané DbCommandBuilder nástrojem a volitelně uvolní spravované prostředky. (Zděděno od DbCommandBuilder) |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetDeleteCommand() |
Získá automaticky vygenerovaný SqlCommand objekt potřebný k odstranění databáze. |
GetDeleteCommand(Boolean) |
Získá automaticky vygenerovaný SqlCommand objekt, který je vyžadován k odstranění databáze. |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetInsertCommand() |
Získá automaticky vygenerovaný SqlCommand objekt potřebný k provedení vložení do databáze. |
GetInsertCommand(Boolean) |
Získá automaticky vygenerovaný SqlCommand objekt, který je nutný k provedení vložení do databáze. |
GetLifetimeService() |
Zastaralé.
Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
GetParameterName(Int32) |
Vrátí název zadaného parametru ve formátu |
GetParameterName(String) |
Vrátí úplný název parametru vzhledem k částečnému názvu parametru. (Zděděno od DbCommandBuilder) |
GetParameterPlaceholder(Int32) |
Vrátí zástupný symbol parametru v přidruženém příkazu SQL. (Zděděno od DbCommandBuilder) |
GetSchemaTable(DbCommand) |
Vrátí tabulku schématu pro DbCommandBuilder. (Zděděno od DbCommandBuilder) |
GetService(Type) |
Vrátí objekt, který představuje službu poskytovanou objektem Component nebo jejím Containerobjektem . (Zděděno od Component) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
GetUpdateCommand() |
Získá automaticky vygenerovaný SqlCommand objekt potřebný k provádění aktualizací v databázi. |
GetUpdateCommand(Boolean) |
Získá automaticky vygenerovaný SqlCommand objekt potřebný k provádění aktualizací v databázi. |
InitializeCommand(DbCommand) |
CommandTimeoutObnoví vlastnosti , Transaction, CommandTypea UpdateRowSource na DbCommand. (Zděděno od DbCommandBuilder) |
InitializeLifetimeService() |
Zastaralé.
Získá objekt služby životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
QuoteIdentifier(String) |
Vzhledem k nekótovanému identifikátoru ve správném případu katalogu vrátí správnou uvozovanou formu tohoto identifikátoru. To zahrnuje správné úniky všech vložených uvozovek v identifikátoru. |
RefreshSchema() |
Vymaže příkazy přidružené k tomuto tvůrci příkazů. |
RefreshSchema() |
Vymaže příkazy přidružené k tomuto DbCommandBuilderpříkazu . (Zděděno od DbCommandBuilder) |
RowUpdatingHandler(RowUpdatingEventArgs) |
Přidá obslužnou rutinu RowUpdating události pro událost. (Zděděno od DbCommandBuilder) |
SetRowUpdatingHandler(DbDataAdapter) |
Zaregistruje DbCommandBuilder pro zpracování RowUpdating události pro DbDataAdapter. (Zděděno od DbCommandBuilder) |
ToString() |
String Vrátí hodnotu obsahující název Component, pokud existuje. Tato metoda by neměla být přepsána. (Zděděno od Component) |
UnquoteIdentifier(String) |
Při uvozovaném identifikátoru vrátí správný nekótovaný tvar tohoto identifikátoru. To zahrnuje správné zrušení zapouzdření všech vložených uvozovek v identifikátoru. |
Událost
Disposed |
Nastane, když je komponenta odstraněna voláním Dispose() metody. (Zděděno od Component) |