Compartir vía


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

Definición

Ejecuta los comandos SQL directamente en la base de datos.

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

Comando SQL que se va a ejecutar.

parameters
Object[]

Matriz de parámetros que se va a pasar al comando. Tenga en cuenta el siguiente comportamiento:

Si el número de objetos de la matriz es menor que el número más alto identificado en la cadena de comandos, se produce una excepción.

Si la matriz contiene objetos a los que no se hace referencia en la cadena de comandos, no se produce ninguna excepción.

Si alguno de los parámetros es null, se convierte en DBNull.Value.

Devoluciones

Número de filas modificadas por el comando ejecutado.

Ejemplos

En el ejemplo siguiente se abre una conexión y se pasa un comando SQL UPDATE al motor de SQL.

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

Comentarios

Este método es un mecanismo de paso a través para los casos en los que LINQ to SQL no proporciona adecuadamente un escenario determinado.

La sintaxis del comando es casi la misma que la que se usa para crear una ADO.NET DataCommand. La única diferencia es cómo se especifican los parámetros. En concreto, se especifican parámetros encerrándolos entre llaves ({...}) y enumerarlos a partir de 0. El parámetro está asociado al objeto igual de numerado en la matriz de parámetros.

ExecuteQuery y ExecuteCommand permiten especificar un número variable de argumentos para la sustitución de parámetros. Por ejemplo, puede especificar los parámetros al 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")

Y, otro ejemplo:

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)

Se aplica a