DataContext.ExecuteCommand(String, Object[]) Metodo

Definizione

Esegue i comandi SQL direttamente nel database.

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

Parametri

command
String

Comando SQL da eseguire.

parameters
Object[]

Matrice di parametri da passare al comando. Nota il seguente comportamento:

Se il numero di oggetti nella matrice è minore del numero più alto identificato nella stringa di comando, viene generata un'eccezione.

Se la matrice contiene oggetti a cui non viene fatto riferimento nella stringa di comando, non viene generata alcuna eccezione.

Se uno dei parametri è Null, viene convertito in DBNull.Value.

Valori restituiti

Numero di righe modificate dal comando eseguito.

Esempio

Nell'esempio seguente viene aperta una connessione e viene passato un comando SQL UPDATE al motore SQL.

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

Commenti

Questo metodo è un meccanismo pass-through per i casi in cui LINQ to SQL non fornisce adeguatamente per uno scenario specifico.

La sintassi per il comando è quasi identica alla sintassi usata per creare un ADO.NET DataCommand. L'unica differenza consiste nel modo in cui vengono specificati i parametri. In particolare, è possibile specificare i parametri racchiudendoli tra parentesi graffe ({...}) ed enumerarli a partire da 0. Il parametro è associato all'oggetto ugualmente numerato nella matrice di parametri.

ExecuteQuery e ExecuteCommand consentono di specificare un numero variabile di argomenti per la sostituzione dei parametri. Ad esempio, è possibile specificare i parametri quando si richiama 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")

Un altro esempio:

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)

Si applica a