DataContext.ExecuteCommand(String, Object[]) Metodo

Definizione

Esegue 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. Tenere presente quanto segue:

Se il numero di oggetti nella matrice è inferiore al numero più elevato identificato nella stringa di comando, viene generata un'eccezione.

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

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

Restituisce

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 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, si specificano i parametri racchiudendoli tra parentesi graffe ({...}) ed enumerarli a partire da 0. Il parametro è associato all'oggetto altrettanto numerato nella matrice di parametri.

ExecuteQuery e ExecuteCommand consente 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")

E, 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