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)