DataContext.ExecuteCommand(String, Object[]) Metoda

Definicja

Wykonuje SQL polecenia 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

Int32

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

Dotyczy