Cette documentation est archivée et n’est pas conservée.

SqlDataAdapter.InsertCommand, propriété

Mise à jour : novembre 2007

Obtient ou définit une instruction Transact-SQL ou une procédure stockée pour insérer de nouveaux enregistrements dans la source de données.

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

public SqlCommand InsertCommand { get; set; }
/** @property */
public SqlCommand get_InsertCommand()
/** @property */
public  void set_InsertCommand(SqlCommand value)

public function get InsertCommand () : SqlCommand
public function set InsertCommand (value : SqlCommand)

Valeur de propriété

Type : System.Data.SqlClient.SqlCommand

SqlCommand employé lors de l'utilisation de Update pour insérer dans la base de données des enregistrements qui correspondent à de nouvelles lignes 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é InsertCommand 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 DataSet. Pour plus d'informations, consultez Génération de commandes à l'aide de CommandBuilders (ADO.NET).

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

Si l'exécution de cette commande retourne des lignes, ces dernières peuvent être ajoutées à DataSet, selon 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;
}


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
Afficher: