DataContext.ExecuteCommand(String, Object[]) Méthode
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.
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)