SqlCommandBuilder Klass

Definition

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
SqlCommandBuilder
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 @p#. Använd när du skapar en anpassad kommandobyggare.

(Ärvd från DbCommandBuilder)
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 UpdateRowSourceDbCommand.

(Ä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)

Gäller för

Se även