DataContext.ExecuteCommand(String, Object[]) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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)