Partilhar via


DataContext.ExecuteCommand(String, Object[]) Método

Definição

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)

Aplica-se a