SqlCommandBuilder Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Genererar automatiskt kommandon med en tabell som används för att stämma av ändringar som gjorts i en DataSet med den associerade SQL Server databasen. Det går inte att ärva den här klassen.
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
- Arv
- Arv
Exempel
I följande exempel används SqlCommand, tillsammans SqlDataAdapter och SqlConnection, för att välja rader från en datakälla. Exemplet skickas en reťazec pripojenia, en frågesträng som är en Transact-SQL SELECT-instruktion och en sträng som är namnet på databastabellen. Exemplet skapar sedan en 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
Kommentarer
SqlDataAdapter genererar inte automatiskt de Transact-SQL-instruktioner som krävs för att stämma av ändringar som gjorts i en DataSet med den associerade instansen av SQL Server. Du kan dock skapa ett SqlCommandBuilder-objekt för att automatiskt generera Transact-SQL-instruktioner för uppdateringar med en tabell om du anger egenskapen SelectCommand för egenskapen SqlDataAdapter. Sedan genereras ytterligare Transact-SQL-instruktioner som du inte anger av SqlCommandBuilder.
Registrerar SqlCommandBuilder sig som lyssnare för RowUpdating händelser när du anger DataAdapter egenskapen. Du kan bara associera ett SqlDataAdapter objekt eller SqlCommandBuilder ett objekt med varandra samtidigt.
För att generera INSERT-, UPDATE- eller DELETE-instruktioner SqlCommandBuilder använder SelectCommand egenskapen för att hämta en obligatorisk uppsättning metadata automatiskt. Om du ändrar SelectCommand när metadata har hämtats, till exempel efter den första uppdateringen, bör du anropa RefreshSchema metoden för att uppdatera metadata.
SelectCommand Måste också returnera minst en primärnyckel eller unik kolumn. Om inget finns genereras ett InvalidOperation-undantag och kommandona genereras inte.
Använder SqlCommandBuilderConnectionockså egenskaperna , CommandTimeoutoch som Transaction refereras av SelectCommand. Användaren bör anropa RefreshSchema om en eller flera av dessa egenskaper ändras eller om den SelectCommand ersätts. Annars InsertCommandbehåller egenskaperna , UpdateCommandoch DeleteCommand sina tidigare värden.
Om du anropar DisposeSqlCommandBuilder kopplas de från , SqlDataAdapteroch de genererade kommandona används inte längre.
Konstruktorer
| Name | Description |
|---|---|
| SqlCommandBuilder() |
Initierar en ny instans av SqlCommandBuilder klassen. |
| SqlCommandBuilder(SqlDataAdapter) |
Initierar en ny instans av SqlCommandBuilder klassen med det associerade SqlDataAdapter objektet. |
Egenskaper
| Name | Description |
|---|---|
| CanRaiseEvents |
Hämtar ett värde som anger om komponenten kan generera en händelse. (Ärvd från Component) |
| CatalogLocation |
Hämtar eller anger CatalogLocation för en instans av SqlCommandBuilder klassen. |
| CatalogSeparator |
Hämtar eller anger en sträng som används som katalogavgränsare för en instans av SqlCommandBuilder klassen. |
| ConflictOption |
Anger vilket som ConflictOption ska användas av DbCommandBuilder. (Ärvd från DbCommandBuilder) |
| Container |
Hämtar som IContainer innehåller Component. (Ärvd från Component) |
| DataAdapter |
Hämtar eller anger ett SqlDataAdapter objekt för vilket Transact-SQL-instruktioner genereras automatiskt. |
| DesignMode |
Hämtar ett värde som anger om det Component för närvarande är i designläge. (Ärvd från Component) |
| Events |
Hämtar listan över händelsehanterare som är kopplade till den här Component. (Ärvd från Component) |
| QuotePrefix |
Hämtar eller anger starttecknet eller tecknen som ska användas när du anger SQL Server databasobjekt, till exempel tabeller eller kolumner, vars namn innehåller tecken som blanksteg eller reserverade token. |
| QuoteSuffix |
Hämtar eller anger sluttecknet eller tecknen som ska användas när du anger SQL Server databasobjekt, till exempel tabeller eller kolumner, vars namn innehåller tecken som blanksteg eller reserverade token. |
| SchemaSeparator |
Hämtar eller anger det tecken som ska användas för avgränsaren mellan schemaidentifieraren och andra identifierare. |
| SetAllValues |
Anger om alla kolumnvärden i en uppdateringsinstruktor inkluderas eller bara ändras. (Ärvd från DbCommandBuilder) |
| Site |
Hämtar eller ställer in ISite i Component. (Ärvd från Component) |
Metoder
| Name | Description |
|---|---|
| ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean) |
Gör att providerimplementeringen DbCommandBuilder av klassen kan hantera ytterligare parameteregenskaper. (Ärvd från DbCommandBuilder) |
| CreateObjRef(Type) |
Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt. (Ärvd från MarshalByRefObject) |
| DeriveParameters(SqlCommand) |
Hämtar parameterinformation från den lagrade proceduren som anges i SqlCommand och fyller i Parameters samlingen av det angivna SqlCommand objektet. |
| Dispose() |
Släpper alla resurser som används av Component. (Ärvd från Component) |
| Dispose(Boolean) |
Släpper de ohanterade resurser som används av Component och släpper eventuellt de hanterade resurserna. (Ärvd från Component) |
| Dispose(Boolean) |
Släpper de ohanterade resurser som används av DbCommandBuilder och släpper eventuellt de hanterade resurserna. (Ärvd från DbCommandBuilder) |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetDeleteCommand() |
Hämtar det automatiskt genererade SqlCommand objekt som krävs för att utföra borttagningar i databasen. |
| GetDeleteCommand(Boolean) |
Hämtar det automatiskt genererade SqlCommand objekt som krävs för att utföra borttagningar i databasen. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetInsertCommand() |
Hämtar det automatiskt genererade SqlCommand objekt som krävs för att utföra infogningar i databasen. |
| GetInsertCommand(Boolean) |
Hämtar det automatiskt genererade SqlCommand objekt som krävs för att utföra infogningar i databasen. |
| GetLifetimeService() |
Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| GetParameterName(Int32) |
Returnerar namnet på den angivna parametern i formatet |
| GetParameterName(String) |
Returnerar det fullständiga parameternamnet med det partiella parameternamnet. (Ärvd från DbCommandBuilder) |
| GetParameterPlaceholder(Int32) |
Returnerar platshållaren för parametern i den associerade SQL-instruktionen. (Ärvd från DbCommandBuilder) |
| GetSchemaTable(DbCommand) |
Returnerar schematabellen DbCommandBuilderför . (Ärvd från DbCommandBuilder) |
| GetService(Type) |
Returnerar ett objekt som representerar en tjänst som tillhandahålls av Component eller av dess Container. (Ärvd från Component) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| GetUpdateCommand() |
Hämtar det automatiskt genererade SqlCommand objekt som krävs för att utföra uppdateringar på databasen. |
| GetUpdateCommand(Boolean) |
Hämtar det automatiskt genererade SqlCommand objekt som krävs för att utföra uppdateringar på databasen. |
| InitializeCommand(DbCommand) |
Återställer CommandTimeoutegenskaperna , Transaction, CommandTypeoch UpdateRowSource på DbCommand. (Ärvd från DbCommandBuilder) |
| InitializeLifetimeService() |
Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| MemberwiseClone(Boolean) |
Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet. (Ärvd från MarshalByRefObject) |
| QuoteIdentifier(String) |
Givet en ociterad identifierare i rätt katalogfall returnerar rätt angiven form av identifieraren. Detta inkluderar att alla inbäddade citattecken i identifieraren raderas korrekt. |
| RefreshSchema() |
Rensar de kommandon som är associerade med den här kommandoverktyget. |
| RefreshSchema() |
Rensar de kommandon som är associerade med den här DbCommandBuilder. (Ärvd från DbCommandBuilder) |
| RowUpdatingHandler(RowUpdatingEventArgs) |
Lägger till en händelsehanterare för RowUpdating händelsen. (Ärvd från DbCommandBuilder) |
| SetRowUpdatingHandler(DbDataAdapter) |
DbCommandBuilder Registrerar för att hantera RowUpdating händelsen för en DbDataAdapter. (Ärvd från DbCommandBuilder) |
| ToString() |
Returnerar ett String som innehåller namnet på Component, om det finns. Den här metoden bör inte åsidosättas. (Ärvd från Component) |
| UnquoteIdentifier(String) |
Med en citerad identifierare returnerar rätt ociterad form av identifieraren. Detta inkluderar korrekt avkapsling av inbäddade citattecken i identifieraren. |
Händelser
| Name | Description |
|---|---|
| Disposed |
Inträffar när komponenten tas bort av ett anrop till Dispose() metoden. (Ärvd från Component) |