DataContext.ExecuteCommand(String, Object[]) Метод

Определение

Выполняет команды SQL непосредственно в базе данных.

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

Параметры

command
String

Команда SQL, которая будет выполнена.

parameters
Object[]

Массив параметров, передаваемых команде. Обратите внимание на следующее поведение:

Если число объектов в массиве меньше наибольшего числа, определенного в командной строке, создается исключение.

Если массив содержит объекты, которые не ссылаются в командной строке, исключение не возникает.

Если один из параметров имеет значение NULL, он преобразуется в DBNull.Value.

Возвращаемое значение

Количество строк, измененных выполненной командой.

Примеры

В следующем примере открывается подключение и передается команда SQL UPDATE подсистеме SQL.

db.ExecuteCommand("UPDATE Products SET UnitPrice = UnitPrice + 1.00");
    db.ExecuteCommand _
("UPDATE Products SET UnitPrice = UnitPrice + 1.00")

Комментарии

Этот метод является сквозным механизмом для случаев, когда LINQ to SQL не обеспечивает достаточное количество конкретных сценариев.

Синтаксис команды почти совпадает с синтаксисом, используемым для создания ADO.NET DataCommand. Единственное различие заключается в том, как указаны параметры. В частности, можно указать параметры, заключив их в фигурные скобки ({...}) и перечислив их начиная с 0. Параметр связан с равным нумерованным объектом в массиве параметров.

ExecuteQuery и ExecuteCommand позволяет указать переменное число аргументов для подстановки параметров. Например, можно указать параметры при вызове 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")

И еще один пример:

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)

Применяется к