DataContext.ExecuteCommand(String, Object[]) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Führt SQL-Befehle direkt in der Datenbank aus.
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
Parameter
- command
- String
Der auszuführende SQL-Befehl.
- parameters
- Object[]
Das Parameterarray, das an den Befehl übergeben werden soll. Beachten Sie Folgendes:
Wenn die Anzahl der Objekte im Array geringer ist als die höchste in der Befehlszeichenfolge identifizierte Anzahl, wird eine Ausnahme ausgelöst.
Wenn das Array Objekte enthält, auf die in der Befehlszeichenfolge nicht verwiesen wird, wird keine Ausnahme ausgelöst.
NULL-Parameter werden in DBNull.Value
konvertiert.
Gibt zurück
Die Anzahl der vom ausgeführten Befehl geänderten Zeilen.
Beispiele
Im folgenden Beispiel wird eine Verbindung geöffnet und ein SQL-Befehl UPDATE
an die SQL-Engine übergeben.
db.ExecuteCommand("UPDATE Products SET UnitPrice = UnitPrice + 1.00");
db.ExecuteCommand _
("UPDATE Products SET UnitPrice = UnitPrice + 1.00")
Hinweise
Diese Methode ist ein Passthroughmechanismus für Fälle, in denen LINQ to SQL ein bestimmtes Szenario nicht ausreichend bereitstellt.
Die Syntax für den Befehl ist fast identisch mit der Syntax, die zum Erstellen eines ADO.NET DataCommand
verwendet wird. Der einzige Unterschied besteht darin, wie die Parameter angegeben werden. Insbesondere geben Sie Parameter an, indem Sie sie in Klammern ({...}) einschließen und sie ab 0 auflisten. Der Parameter ist dem gleich nummerierten Objekt im Parameterarray zugeordnet.
ExecuteQuery
und ExecuteCommand
ermöglichen Ihnen das Angeben einer variablen Anzahl von Argumenten für die Parameterersetzung. Sie können beispielsweise beim Aufrufen von ExecuteQuery<TResult> die Parameter angeben:
db.ExecuteQuery<Customer>("SELECT * FROM dbo.Customers WHERE City = {0}", "London");
db.ExecuteQuery(Of Customer)("SELECT * FROM dbo.Customers WHERE City = {0}", "London")
Ein weiteres Beispiel:
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)