DataContext.ExecuteCommand(String, Object[]) Metoda
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
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.Valuewartość .
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)