Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

SqlDataAdapter.UpdateCommand, propriété

Obtient ou définit une instruction Transact-SQL ou une procédure stockée pour mettre à jour des enregistrements dans la source de données.

Espace de noms :  System.Data.SqlClient
Assembly :  System.Data (dans System.Data.dll)
public SqlCommand UpdateCommand { get; set; }

Valeur de propriété

Type : System.Data.SqlClient.SqlCommand
SqlCommand employé lors de l'utilisation de Update pour mettre à jour dans la base de données des enregistrements qui correspondent aux lignes modifiées dans DataSet.

Si, lors de l'utilisation de Update, cette propriété n'est pas définie et si des informations de clés primaires figurent dans DataSet, la propriété UpdateCommand peut alors être générée automatiquement si vous définissez la propriété SelectCommand et si vous utilisez SqlCommandBuilder. Toutes les commandes supplémentaires que vous ne définissez pas sont par la suite générées par SqlCommandBuilder. Cette logique de génération exige la présence des informations de colonne clé dans le DataSet. Pour plus d'informations, consultez Génération de commandes à l'aide de CommandBuilders (ADO.NET).

Lorsque UpdateCommand est assigné à un SqlCommand préalablement créé, SqlCommand n'est pas cloné. UpdateCommand conserve une référence à l'objet SqlCommand préalablement créé.

RemarqueRemarque

Si l'exécution de cette commande retourne des lignes, les lignes mises à jour peuvent alors être fusionnées avec DataSet, en fonction de la valeur affectée à la propriété UpdatedRowSource de l'objet SqlCommand.

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 du paramètre. Cela 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 crée un SqlDataAdapter et définit les propriétés SelectCommand, InsertCommand, UpdateCommand et DeleteCommand. Il suppose que vous avez déjà créé un objet SqlConnection.


public static SqlDataAdapter CreateCustomerAdapter(
    SqlConnection connection)
{
    SqlDataAdapter adapter = new SqlDataAdapter();

    // Create the SelectCommand.
    SqlCommand command = new SqlCommand("SELECT * FROM Customers " +
        "WHERE Country = @Country AND City = @City", connection);

    // Add the parameters for the SelectCommand.
    command.Parameters.Add("@Country", SqlDbType.NVarChar, 15);
    command.Parameters.Add("@City", SqlDbType.NVarChar, 15);

    adapter.SelectCommand = command;

    // Create the InsertCommand.
    command = new SqlCommand(
        "INSERT INTO Customers (CustomerID, CompanyName) " +
        "VALUES (@CustomerID, @CompanyName)", connection);

    // Add the parameters for the InsertCommand.
    command.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID");
    command.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName");

    adapter.InsertCommand = command;

    // Create the UpdateCommand.
    command = new SqlCommand(
        "UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " +
        "WHERE CustomerID = @oldCustomerID", connection);

    // Add the parameters for the UpdateCommand.
    command.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID");
    command.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName");
    SqlParameter parameter = command.Parameters.Add(
        "@oldCustomerID", SqlDbType.NChar, 5, "CustomerID");
    parameter.SourceVersion = DataRowVersion.Original;

    adapter.UpdateCommand = command;

    // Create the DeleteCommand.
    command = new SqlCommand(
        "DELETE FROM Customers WHERE CustomerID = @CustomerID", connection);

    // Add the parameters for the DeleteCommand.
    parameter = command.Parameters.Add(
        "@CustomerID", SqlDbType.NChar, 5, "CustomerID");
    parameter.SourceVersion = DataRowVersion.Original;

    adapter.DeleteCommand = command;

    return adapter;
}


.NET Framework

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

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.