SqlCommandBuilder Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
- 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 |
| 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) |