DataContext.ExecuteCommand(String, Object[]) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Executa comandos SQL diretamente no banco de dados.
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
Parâmetros
- command
- String
O comando SQL a ser executado.
- parameters
- Object[]
A matriz de parâmetros a serem passados para o comando. Observe o seguinte comportamento:
Se o número de objetos na matriz for menor que o maior número identificado na cadeia de caracteres de comando, uma exceção será gerada.
Se a matriz contiver objetos que não são referenciados na cadeia de caracteres de comando, nenhuma exceção será gerada.
Se um dos parâmetros for nulo, ele será convertido em DBNull.Value
.
Retornos
O número de linhas modificadas pelo comando executado.
Exemplos
O exemplo a seguir abre uma conexão e passa um comando SQL UPDATE
para o mecanismo SQL.
db.ExecuteCommand("UPDATE Products SET UnitPrice = UnitPrice + 1.00");
db.ExecuteCommand _
("UPDATE Products SET UnitPrice = UnitPrice + 1.00")
Comentários
Esse método é um mecanismo de passagem para casos em que LINQ to SQL não fornece adequadamente um cenário específico.
A sintaxe do comando é quase a mesma que a sintaxe usada para criar um ADO.NET DataCommand
. A única diferença está em como os parâmetros são especificados. Especificamente, você especifica parâmetros colocando-os entre chaves ({...}) e enumera-os a partir de 0. O parâmetro está associado ao objeto igualmente numerado na matriz de parâmetros.
ExecuteQuery
e ExecuteCommand
permitem que você especifique um número variável de argumentos para substituição de parâmetro. Por exemplo, você pode especificar os parâmetros ao invocar 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")
E outro exemplo:
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)