0 sur 1 ont trouvé cela utile - Évaluez ce sujet

SqlDataAdapter, classe

Mise à jour : novembre 2007

Représente un ensemble de commandes de données et une connexion à une base de données qui permettent de remplir DataSet et de mettre à jour une base de données SQL Server. Cette classe ne peut pas être héritée.

Espace de noms :  System.Data.SqlClient
Assembly :  System.Data (dans System.Data.dll)

public sealed class SqlDataAdapter : DbDataAdapter, 
	IDbDataAdapter, IDataAdapter, ICloneable
public final class SqlDataAdapter extends DbDataAdapter implements IDbDataAdapter, 
	IDataAdapter, ICloneable
public final class SqlDataAdapter extends DbDataAdapter implements IDbDataAdapter, IDataAdapter, ICloneable

SqlDataAdapter sert de lien entre DataSet et SQL Server lors de la récupération et de l'enregistrement de données. SqlDataAdapter établit ce lien en mappant Fill, qui modifie les données de DataSet pour qu'elles correspondent aux données de la source de données, et Update, qui modifie les données de la source de données pour qu'elles correspondent aux données de DataSet, à l'aide des instructions Transact-SQL appropriées par rapport à la source de données. La mise à jour est effectuée ligne par ligne. Pour chaque ligne insérée, modifiée et supprimée, la méthode Update détermine le type de modification qui a été effectuée dessus (Insert, Update ou Delete). En fonction du type de modification, le modèle de commande Insert, Update ou Delete s'exécute pour propager la ligne modifiée à la source de données. Lorsque SqlDataAdapter remplit DataSet, il crée les tables et colonnes nécessaires pour les données retournées si elles n'existent pas encore. Cependant, les informations de clés primaires ne sont pas incluses dans le schéma créé implicitement, à moins que la propriété MissingSchemaAction ait la valeur AddWithKey. Vous pouvez également laisser SqlDataAdapter créer le schéma de DataSet, comprenant les informations de clés primaires, avant de le remplir avec les données à l'aide de FillSchema. Pour plus d'informations, consultez Ajout de contraintes existantes à un DataSet (ADO.NET).

SqlDataAdapter est utilisé en association à SqlConnection et à SqlCommand pour optimiser les performances lors d'une connexion à une base de données SQL Server.

Remarque :

Si vous utilisez des procédures stockées SQL Server pour modifier ou supprimer des données à l'aide d'un DataAdapter, assurez-vous que vous n'utilisez pas SET NOCOUNT ON dans la définition de procédure stockée. En effet, le compte des lignes affectées retourné est la valeur zéro, ce que DataAdapter interprète comme un conflit d'accès concurrentiel. Dans ce cas, un DBConcurrencyException est levé.

SqlDataAdapter comprend également les propriétés SelectCommand, InsertCommand, DeleteCommand, UpdateCommand et TableMappings pour faciliter le chargement et la mise à jour des données.

Lorsqu'une instance de SqlDataAdapter est créée, les valeurs initiales sont affectées aux propriétés de lecture/écriture. Pour obtenir la liste de ces valeurs, consultez le constructeur SqlDataAdapter.

InsertCommand, DeleteCommand et UpdateCommand sont des modèles génériques qui sont remplis automatiquement avec des valeurs individuelles provenant de chaque ligne modifiée via le mécanisme de paramètres.

Pour chaque colonne que vous propagez à la source de données sur Update, un paramètre doit être ajouté à InsertCommand, UpdateCommand ou DeleteCommand. Le nom de la colonne doit être affecté à la propriété SourceColumn de l'objet DbParameter. Ce paramètre indique que la valeur du paramètre n'est pas définie manuellement, mais est obtenue à partir de la colonne particulière de la ligne actuellement traitée.

L'exemple suivant utilise SqlCommand, SqlDataAdapter et SqlConnection pour sélectionner des enregistrements à partir d'une base de données et remplir un DataSet avec les lignes sélectionnées. Le DataSet rempli est ensuite retourné. Pour effectuer cette opération, un DataSet initialisé, une chaîne de connexion et une chaîne de requête qui est une instruction Transact-SQL SELECT sont passés à la méthode.

private static DataSet SelectRows(DataSet dataset,
    string connectionString,string queryString) 
{
    using (SqlConnection connection = 
        new SqlConnection(connectionString))
    {
        SqlDataAdapter adapter = new SqlDataAdapter();
        adapter.SelectCommand = new SqlCommand(
            queryString, connection);
        adapter.Fill(dataset);
        return dataset;
    }
}



Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Pris en charge dans : 3.5, 2.0, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ