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)

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