Partager via


DataContext.ExecuteCommand(String, Object[]) Méthode

Définition

Exécute les commandes SQL directement sur la base de données.

public:
 int ExecuteCommand(System::String ^ command, ... cli::array <System::Object ^> ^ parameters);
public int ExecuteCommand (string command, params object[] parameters);
member this.ExecuteCommand : string * obj[] -> int
Public Function ExecuteCommand (command As String, ParamArray parameters As Object()) As Integer

Paramètres

command
String

Commande SQL à exécuter.

parameters
Object[]

Tableau de paramètres à passer à la commande. Notez le comportement suivant :

Si le nombre d'objets dans le tableau est inférieur au nombre le plus élevé identifié dans la chaîne de commande, une exception est levée.

Si le tableau contient des objets qui ne sont pas référencés dans la chaîne de commande, aucune exception n'est levée.

Si l'un des paramètres est null, il est converti en DBNull.Value.

Retours

Nombre de lignes modifiées par la commande exécutée.

Exemples

L’exemple suivant ouvre une connexion et transmet une commande SQL UPDATE au moteur SQL.

db.ExecuteCommand("UPDATE Products SET UnitPrice = UnitPrice + 1.00");
    db.ExecuteCommand _
("UPDATE Products SET UnitPrice = UnitPrice + 1.00")

Remarques

Cette méthode est un mécanisme pass-through pour les cas où LINQ to SQL ne fournit pas correctement un scénario particulier.

La syntaxe de la commande est presque la même que celle utilisée pour créer un ADO.NET DataCommand. La seule différence réside dans la façon dont les paramètres sont spécifiés. Plus précisément, vous spécifiez les paramètres en les plaçant dans des accolades ({...}) et en les énumérant à partir de 0. Le paramètre est associé à l’objet également numéroté dans le tableau de paramètres.

ExecuteQuery et ExecuteCommand vous permettent de spécifier un nombre variable d’arguments pour la substitution de paramètre. Par exemple, vous pouvez spécifier les paramètres lors de l’appel de ExecuteQuery<TResult> :

db.ExecuteQuery<Customer>("SELECT * FROM dbo.Customers WHERE City = {0}", "London");
db.ExecuteQuery(Of Customer)("SELECT * FROM dbo.Customers WHERE City = {0}", "London")

Et, un autre exemple :

db.ExecuteCommand("UPDATE Products SET QuantityPerUnit = {0} WHERE ProductID = {1}", "24 boxes", 5);
db.ExecuteCommand("UPDATE Products SET QuantityPerUnit = {0} WHERE ProductID = {1}", "24 boxes", 5)

S’applique à