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 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)