DataContext.ExecuteCommand(String, Object[]) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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)