SqlCommandBuilder Klas

Definitie

Hiermee worden automatisch opdrachten met één tabel gegenereerd die worden gebruikt om wijzigingen in een DataSet met de bijbehorende SQL Server-database af te stemmen. Deze klasse kan niet worden overgenomen.

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
Overname
SqlCommandBuilder
Overname

Voorbeelden

In het volgende voorbeeld worden de SqlCommandrijen uit een gegevensbron gebruikt SqlDataAdapter om SqlConnectionrijen te selecteren. Het voorbeeld wordt doorgegeven aan een verbindingsreeks, een queryreeks die een Transact-SQL SELECT-instructie is en een tekenreeks die de naam van de databasetabel is. In het voorbeeld wordt vervolgens een 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

Opmerkingen

De SqlDataAdapter genereert niet automatisch de Transact-SQL instructies die nodig zijn om wijzigingen in een DataSet af te stemmen met het bijbehorende exemplaar van SQL Server. U kunt echter een SqlCommandBuilder-object maken om automatisch Transact-SQL instructies te genereren voor updates met één tabel als u de eigenschap SelectCommand van de SqlDataAdapter instelt. Vervolgens worden eventuele aanvullende Transact-SQL-instructies die u niet instelt, gegenereerd door de SqlCommandBuilder.

De SqlCommandBuilder registratie zelf als listener voor RowUpdating gebeurtenissen wanneer u de DataAdapter eigenschap instelt. U kunt slechts één SqlDataAdapter object SqlCommandBuilder tegelijk aan elkaar koppelen.

Voor het genereren van INSERT-, UPDATE- of DELETE-instructies gebruikt de SqlCommandBuilderSelectCommand eigenschap om automatisch een vereiste set metagegevens op te halen. Als u de SelectCommand methode wijzigt nadat de metagegevens zijn opgehaald, zoals na de eerste update, moet u de RefreshSchema methode aanroepen om de metagegevens bij te werken.

De SelectCommand sleutel moet ook ten minste één primaire sleutel of unieke kolom retourneren. Als er geen aanwezig zijn, wordt er een InvalidOperation-uitzondering gegenereerd en worden de opdrachten niet gegenereerd.

Het SqlCommandBuilder maakt ook gebruik van de Connection, CommandTimeouten Transaction eigenschappen waarnaar wordt verwezen door de SelectCommand. De gebruiker moet aanroepen RefreshSchema of een of meer van deze eigenschappen worden gewijzigd of als de SelectCommand zelf wordt vervangen. Anders behouden de InsertCommand, UpdateCommanden DeleteCommand eigenschappen de vorige waarden.

Als u aanroept Dispose, wordt de SqlCommandBuilder koppeling losgekoppeld van de SqlDataAdapteren worden de gegenereerde opdrachten niet meer gebruikt.

Constructors

Name Description
SqlCommandBuilder()

Initialiseert een nieuw exemplaar van de SqlCommandBuilder klasse.

SqlCommandBuilder(SqlDataAdapter)

Initialiseert een nieuw exemplaar van de SqlCommandBuilder klasse met het bijbehorende SqlDataAdapter object.

Eigenschappen

Name Description
CanRaiseEvents

Hiermee wordt een waarde opgehaald die aangeeft of het onderdeel een gebeurtenis kan genereren.

(Overgenomen van Component)
CatalogLocation

Hiermee haalt u een CatalogLocation exemplaar van de klasse op of stelt u deze SqlCommandBuilder in.

CatalogSeparator

Hiermee haalt u een tekenreeks op die wordt gebruikt als het catalogusscheidingsteken voor een exemplaar van de SqlCommandBuilder klasse.

ConflictOption

Hiermee geeft u op welke ConflictOption moet worden gebruikt door de DbCommandBuilder.

(Overgenomen van DbCommandBuilder)
Container

Hiermee haalt u het IContainer bestand op dat de Component.

(Overgenomen van Component)
DataAdapter

Hiermee wordt een SqlDataAdapter-object opgehaald of ingesteld waarvoor automatisch Transact-SQL instructies worden gegenereerd.

DesignMode

Hiermee wordt een waarde opgehaald die aangeeft of de Component momenteel in de ontwerpmodus is.

(Overgenomen van Component)
Events

Hiermee haalt u de lijst met gebeurtenis-handlers op die aan dit Componentbestand zijn gekoppeld.

(Overgenomen van Component)
QuotePrefix

Hiermee haalt u het beginteken of de tekens op die moeten worden gebruikt bij het opgeven van SQL Server databaseobjecten, zoals tabellen of kolommen, waarvan de namen tekens bevatten, zoals spaties of gereserveerde tokens.

QuoteSuffix

Hiermee haalt u het eindteken of de tekens op die moeten worden gebruikt bij het opgeven van SQL Server databaseobjecten, zoals tabellen of kolommen, waarvan de namen tekens bevatten, zoals spaties of gereserveerde tokens.

SchemaSeparator

Hiermee haalt u het teken op dat moet worden gebruikt voor het scheidingsteken tussen de schema-id en eventuele andere id's.

SetAllValues

Hiermee geeft u op of alle kolomwaarden in een update-instructie worden opgenomen of alleen worden gewijzigd.

(Overgenomen van DbCommandBuilder)
Site

Haalt of stelt de ISite van de Component.

(Overgenomen van Component)

Methoden

Name Description
ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

Hiermee kan de provider-implementatie van de DbCommandBuilder klasse aanvullende parametereigenschappen verwerken.

(Overgenomen van DbCommandBuilder)
CreateObjRef(Type)

Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object.

(Overgenomen van MarshalByRefObject)
DeriveParameters(SqlCommand)

Hiermee haalt u parametergegevens op uit de opgeslagen procedure die is opgegeven in de SqlCommand en vult u de Parameters verzameling van het opgegeven SqlCommand object.

Dispose()

Alle resources die worden gebruikt door de Component.

(Overgenomen van Component)
Dispose(Boolean)

Publiceert de niet-beheerde resources die worden gebruikt door de Component beheerde resources en brengt eventueel de beheerde resources vrij.

(Overgenomen van Component)
Dispose(Boolean)

Publiceert de niet-beheerde resources die worden gebruikt door de DbCommandBuilder beheerde resources en brengt eventueel de beheerde resources vrij.

(Overgenomen van DbCommandBuilder)
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetDeleteCommand()

Hiermee haalt u het automatisch gegenereerde SqlCommand object op dat nodig is om verwijderingen uit te voeren op de database.

GetDeleteCommand(Boolean)

Hiermee haalt u het automatisch gegenereerde SqlCommand object op dat nodig is om verwijderingen uit te voeren op de database.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetInsertCommand()

Hiermee wordt het automatisch gegenereerde object opgehaald dat SqlCommand is vereist voor het uitvoeren van invoegingen in de database.

GetInsertCommand(Boolean)

Hiermee haalt u het automatisch gegenereerde SqlCommand object op dat nodig is om invoegingen uit te voeren op de database.

GetLifetimeService()

Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd.

(Overgenomen van MarshalByRefObject)
GetParameterName(Int32)

Retourneert de naam van de opgegeven parameter in de notatie van @p#. Gebruiken bij het bouwen van een aangepaste opbouwfunctie voor opdrachten.

(Overgenomen van DbCommandBuilder)
GetParameterName(String)

Retourneert de volledige parameternaam, op basis van de naam van de gedeeltelijke parameter.

(Overgenomen van DbCommandBuilder)
GetParameterPlaceholder(Int32)

Retourneert de tijdelijke aanduiding voor de parameter in de bijbehorende SQL-instructie.

(Overgenomen van DbCommandBuilder)
GetSchemaTable(DbCommand)

Retourneert de schematabel voor de DbCommandBuilder.

(Overgenomen van DbCommandBuilder)
GetService(Type)

Hiermee wordt een object geretourneerd dat een service vertegenwoordigt die wordt geleverd door of door de Component service Container.

(Overgenomen van Component)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
GetUpdateCommand()

Hiermee wordt het automatisch gegenereerde object opgehaald dat SqlCommand is vereist voor het uitvoeren van updates op de database.

GetUpdateCommand(Boolean)

Hiermee wordt het automatisch gegenereerde object opgehaald dat SqlCommand is vereist voor het uitvoeren van updates op de database.

InitializeCommand(DbCommand)

Hiermee stelt u de CommandTimeouteigenschappen , Transactionen UpdateRowSourceCommandTypeeigenschappen van de DbCommand.

(Overgenomen van DbCommandBuilder)
InitializeLifetimeService()

Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren.

(Overgenomen van MarshalByRefObject)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
MemberwiseClone(Boolean)

Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object.

(Overgenomen van MarshalByRefObject)
QuoteIdentifier(String)

Met een niet-aanhalingeerde id in de juiste cataloguscase wordt de juiste aanhalingsvorm van die id geretourneerd. Dit omvat het correct ontsnappen van ingesloten aanhalingstekens in de id.

RefreshSchema()

Hiermee wist u de opdrachten die zijn gekoppeld aan deze opbouwfunctie voor opdrachten.

RefreshSchema()

Hiermee wist u de opdrachten die aan deze DbCommandBuilderopdracht zijn gekoppeld.

(Overgenomen van DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

Voegt een gebeurtenis-handler toe voor de RowUpdating gebeurtenis.

(Overgenomen van DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

Registreert de DbCommandBuilder gebeurtenis voor een RowUpdatingDbDataAdapter.

(Overgenomen van DbCommandBuilder)
ToString()

Retourneert een String met de naam van de Component, indien van toepassing. Deze methode mag niet worden overschreven.

(Overgenomen van Component)
UnquoteIdentifier(String)

Met een aanhalings-id wordt de juiste niet-aanhalingeerde vorm van die id geretourneerd. Dit omvat het correct weergeven van ingesloten aanhalingstekens in de id.

gebeurtenis

Name Description
Disposed

Treedt op wanneer het onderdeel wordt verwijderd door een aanroep naar de Dispose() methode.

(Overgenomen van Component)

Van toepassing op

Zie ook