DataContext.ExecuteCommand(String, Object[]) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wykonuje polecenia SQL bezpośrednio w bazie danych.
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
Parametry
- command
- String
Polecenie SQL do wykonania.
- parameters
- Object[]
Tablica parametrów, które mają zostać przekazane do polecenia. Zwróć uwagę na następujące zachowanie:
Jeśli liczba obiektów w tablicy jest mniejsza niż największa liczba zidentyfikowana w ciągu polecenia, zgłaszany jest wyjątek.
Jeśli tablica zawiera obiekty, do których nie odwołuje się ciąg polecenia, nie zostanie zgłoszony wyjątek.
Jeśli którykolwiek z parametrów ma wartość null, jest konwertowany na DBNull.Value
wartość .
Zwraca
Liczba wierszy zmodyfikowanych przez wykonane polecenie.
Przykłady
Poniższy przykład otwiera połączenie i przekazuje polecenie SQL UPDATE
do aparatu SQL.
db.ExecuteCommand("UPDATE Products SET UnitPrice = UnitPrice + 1.00");
db.ExecuteCommand _
("UPDATE Products SET UnitPrice = UnitPrice + 1.00")
Uwagi
Ta metoda jest mechanizmem przekazywania w przypadkach, w których LINQ to SQL nie zapewnia odpowiednio określonego scenariusza.
Składnia polecenia jest prawie taka sama jak składnia użyta do utworzenia ADO.NET DataCommand
. Jedyną różnicą jest sposób określenia parametrów. W szczególności należy określić parametry, zamykając je w nawiasach klamrowych ({...}) i wyliczając je od 0. Parametr jest skojarzony z obiektem o takim samym numerze w tablicy parametrów.
ExecuteQuery
i ExecuteCommand
umożliwia określenie zmiennej liczby argumentów podstawiania parametrów. Można na przykład określić parametry podczas wywoływania funkcji 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")
Inny przykład:
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)