SqlCommandBuilder Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Génère automatiquement des commandes à table unique utilisées pour rapprocher les modifications apportées à une DataSet base de données SQL Server associée. Cette classe ne peut pas être héritée.
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
- Héritage
- Héritage
Exemples
L’exemple suivant utilise , SqlCommandle long SqlDataAdapter et SqlConnection, pour sélectionner des lignes à partir d’une source de données. L’exemple est passé une chaîne de connexion, une chaîne de requête qui est une instruction Transact-SQL SELECT et une chaîne qui est le nom de la table de base de données. L’exemple crée ensuite un 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
Remarques
Le SqlDataAdapter code ne génère pas automatiquement les instructions Transact-SQL requises pour rapprocher les modifications apportées à une DataSet instance associée de SQL Server. Toutefois, vous pouvez créer un SqlCommandBuilder objet pour générer automatiquement des instructions Transact-SQL pour les mises à jour à table unique si vous définissez la SelectCommand propriété de l’objet SqlDataAdapter. Ensuite, toutes les instructions Transact-SQL supplémentaires que vous ne définissez pas sont générées par le SqlCommandBuilder.
Il SqlCommandBuilder s’inscrit en tant qu’écouteur pour RowUpdating les événements chaque fois que vous définissez la DataAdapter propriété. Vous ne pouvez associer qu’un SqlDataAdapter ou SqlCommandBuilder un seul objet entre eux à la fois.
Pour générer des instructions INSERT, UPDATE ou DELETE, la SqlCommandBuilder propriété utilise la SelectCommand propriété pour récupérer automatiquement un ensemble de métadonnées requis. Si vous modifiez une SelectCommand fois les métadonnées récupérées, par exemple après la première mise à jour, vous devez appeler la RefreshSchema méthode pour mettre à jour les métadonnées.
SelectCommand doit aussi retourner au moins une clé primaire ou une colonne unique. Si aucun n’est présent, une exception InvalidOperation est générée et les commandes ne sont pas générées.
Il SqlCommandBuilder utilise également les Connectionpropriétés , CommandTimeoutet Transaction référencées par le SelectCommand. L’utilisateur doit appeler RefreshSchema si une ou plusieurs de ces propriétés sont modifiées ou si elle SelectCommand est remplacée. Sinon, les InsertCommandpropriétés et DeleteCommand les UpdateCommandpropriétés conservent leurs valeurs précédentes.
Si vous appelez , l’objet DisposeSqlCommandBuilder est dissocié du SqlDataAdaptercode et les commandes générées ne sont plus utilisées.
Constructeurs
| Nom | Description |
|---|---|
| SqlCommandBuilder() |
Initialise une nouvelle instance de la classe SqlCommandBuilder. |
| SqlCommandBuilder(SqlDataAdapter) |
Initialise une nouvelle instance de la SqlCommandBuilder classe avec l’objet associé SqlDataAdapter . |
Propriétés
| Nom | Description |
|---|---|
| CanRaiseEvents |
Obtient une valeur indiquant si le composant peut déclencher un événement. (Hérité de Component) |
| CatalogLocation |
Obtient ou définit la CatalogLocation valeur d’une instance de la SqlCommandBuilder classe. |
| CatalogSeparator |
Obtient ou définit une chaîne utilisée comme séparateur de catalogue pour une instance de la SqlCommandBuilder classe. |
| ConflictOption |
Spécifie qui ConflictOption doit être utilisé par le DbCommandBuilder. (Hérité de DbCommandBuilder) |
| Container |
Obtient le IContainer fichier qui contient le Component. (Hérité de Component) |
| DataAdapter |
Obtient ou définit un SqlDataAdapter objet pour lequel les instructions Transact-SQL sont générées automatiquement. |
| DesignMode |
Obtient une valeur qui indique si la Component valeur est actuellement en mode création. (Hérité de Component) |
| Events |
Obtient la liste des gestionnaires d’événements qui sont attachés à ce Component. (Hérité de Component) |
| QuotePrefix |
Obtient ou définit le caractère de départ ou les caractères à utiliser lors de la spécification d’objets de base de données SQL Server, tels que des tables ou des colonnes, dont les noms contiennent des caractères tels que des espaces ou des jetons réservés. |
| QuoteSuffix |
Obtient ou définit le caractère de fin ou les caractères à utiliser lors de la spécification d’objets de base de données SQL Server, tels que des tables ou des colonnes, dont les noms contiennent des caractères tels que des espaces ou des jetons réservés. |
| SchemaSeparator |
Obtient ou définit le caractère à utiliser pour le séparateur entre l’identificateur de schéma et tous les autres identificateurs. |
| SetAllValues |
Spécifie si toutes les valeurs de colonne d’une instruction de mise à jour sont incluses ou modifiées uniquement. (Hérité de DbCommandBuilder) |
| Site |
Obtient ou définit le ISiteComponent. (Hérité de Component) |
Méthodes
| Nom | Description |
|---|---|
| ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean) |
Permet à l’implémentation du fournisseur de la DbCommandBuilder classe de gérer des propriétés de paramètre supplémentaires. (Hérité de DbCommandBuilder) |
| CreateObjRef(Type) |
Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant. (Hérité de MarshalByRefObject) |
| DeriveParameters(SqlCommand) |
Récupère les informations de paramètre de la procédure stockée spécifiée dans le SqlCommand fichier et remplit la Parameters collection de l’objet spécifié SqlCommand . |
| Dispose() |
Libère toutes les ressources utilisées par le Component. (Hérité de Component) |
| Dispose(Boolean) |
Libère les ressources non managées utilisées par les Component ressources gérées et libère éventuellement les ressources managées. (Hérité de Component) |
| Dispose(Boolean) |
Libère les ressources non managées utilisées par les DbCommandBuilder ressources gérées et libère éventuellement les ressources managées. (Hérité de DbCommandBuilder) |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetDeleteCommand() |
Obtient l’objet généré SqlCommand automatiquement nécessaire pour effectuer des suppressions sur la base de données. |
| GetDeleteCommand(Boolean) |
Obtient l’objet généré SqlCommand automatiquement requis pour effectuer des suppressions sur la base de données. |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetInsertCommand() |
Obtient l’objet généré SqlCommand automatiquement requis pour effectuer des insertions sur la base de données. |
| GetInsertCommand(Boolean) |
Obtient l’objet généré SqlCommand automatiquement requis pour effectuer des insertions sur la base de données. |
| GetLifetimeService() |
Obsolète.
Récupère l’objet de service de durée de vie actuel qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
| GetParameterName(Int32) |
Retourne le nom du paramètre spécifié au format . |
| GetParameterName(String) |
Retourne le nom complet du paramètre, en fonction du nom du paramètre partiel. (Hérité de DbCommandBuilder) |
| GetParameterPlaceholder(Int32) |
Retourne l’espace réservé pour le paramètre dans l’instruction SQL associée. (Hérité de DbCommandBuilder) |
| GetSchemaTable(DbCommand) |
Retourne la table de schéma pour le DbCommandBuilder. (Hérité de DbCommandBuilder) |
| GetService(Type) |
Retourne un objet qui représente un service fourni par le Component ou par son Container. (Hérité de Component) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| GetUpdateCommand() |
Obtient l’objet généré SqlCommand automatiquement requis pour effectuer des mises à jour sur la base de données. |
| GetUpdateCommand(Boolean) |
Obtient l’objet généré SqlCommand automatiquement requis pour effectuer des mises à jour sur la base de données. |
| InitializeCommand(DbCommand) |
Réinitialise les CommandTimeoutpropriétés , Transactionet CommandTypeUpdateRowSource les propriétés sur le DbCommand. (Hérité de DbCommandBuilder) |
| InitializeLifetimeService() |
Obsolète.
Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| MemberwiseClone(Boolean) |
Crée une copie superficielle de l’objet actuel MarshalByRefObject . (Hérité de MarshalByRefObject) |
| QuoteIdentifier(String) |
Étant donné un identificateur non cité dans le cas de catalogue correct, retourne la forme entre guillemets correcte de cet identificateur. Cela inclut l’échappement correct des guillemets incorporés dans l’identificateur. |
| RefreshSchema() |
Efface les commandes associées à ce générateur de commandes. |
| RefreshSchema() |
Efface les commandes associées à ce DbCommandBuilder. (Hérité de DbCommandBuilder) |
| RowUpdatingHandler(RowUpdatingEventArgs) |
Ajoute un gestionnaire d’événements pour l’événement RowUpdating . (Hérité de DbCommandBuilder) |
| SetRowUpdatingHandler(DbDataAdapter) |
Inscrit le DbCommandBuilder pour gérer l’événement RowUpdating pour un DbDataAdapter. (Hérité de DbCommandBuilder) |
| ToString() |
Retourne un String nom contenant le nom du Component, le cas échéant. Cette méthode ne doit pas être remplacée. (Hérité de Component) |
| UnquoteIdentifier(String) |
En fonction d’un identificateur entre guillemets, retourne la forme non mise en guillemet correcte de cet identificateur. Cela inclut l’annulation correcte du regroupement des guillemets incorporés dans l’identificateur. |
Événements
| Nom | Description |
|---|---|
| Disposed |
Se produit lorsque le composant est supprimé par un appel à la Dispose() méthode. (Hérité de Component) |