Compartir a través de


Ejecutar un comando

Después de establecer una conexión con un origen de datos, puede usar el objeto Command para ejecutar comandos y devolver resultados desde ese origen de datos. Puede crear un comando mediante el constructor Command, que acepta argumentos opcionales de una instrucción SQL para ejecutarlos en el origen de datos, un objeto Connection y un objeto Transaction. También puede crear un comando para un objeto Connection determinado utilizando su método CreateCommand. La instrucción SQL del objeto Command se puede consultar y modificar con la propiedad CommandText.

El objeto Command expone varios métodos Execute que puede utilizar para llevar a cabo la acción deseada. Cuando los resultados se devuelven en forma de secuencia de datos, puede usar ExecuteReader para devolver un objeto DataReader. ExecuteScalar sirve para devolver un valor Singleton. ExecuteNonQuery se utiliza para ejecutar comandos que no devuelven filas.

Al usar el objeto Command con un procedimiento almacenado, puede establecer la propiedad CommandType del objeto Command para que tenga el valor StoredProcedure. Cuando CommandType tiene el valor StoredProcedure, puede usar la propiedad Parameters del objeto Command para tener acceso a los parámetros de entrada, de salida y valores devueltos. El acceso a la propiedad Parameters es posible independientemente del método Execute al que se llama. Sin embargo, al llamar a ExecuteReader, no es posible el acceso a los valores devueltos y los parámetros de salida hasta que se cierra DataReader.

En el ejemplo de código siguiente se demuestra cómo dar formato a un objeto Command para que devuelva una lista Categories desde la base de datos Northwind.

SqlClient

Dim catCMD As SqlCommand = New SqlCommand("SELECT CategoryID, CategoryName FROM Categories", nwindConn)
[C#]
SqlCommand catCMD = new SqlCommand("SELECT CategoryID, CategoryName FROM Categories", nwindConn);

OleDb

Dim catCMD As OleDbCommand = New OleDbCommand("SELECT CategoryID, CategoryName FROM Categories", nwindConn)
[C#]
OleDbCommand catCMD = new OleDbCommand("SELECT CategoryID, CategoryName FROM Categories", nwindConn);

Contadores de rendimiento para comandos

El proveedor de datos de .NET Framework para SQL Server agrega un contador de rendimiento que permite detectar problemas intermitentes relacionados con errores en la ejecución de comandos. Al tener acceso al contador "SqlClient: Total # failed commands" del Monitor de sistema, incluido en el objeto de rendimiento .NET CLR Data, puede conocer el número total de errores producidos por cualquier causa al ejecutar comandos.

Nota   Al utilizar contadores de rendimiento del proveedor de datos de .NET Framework para SQL Server en combinación con aplicaciones ASP.NET, sólo está disponible la instancia _Global. Como resultado, el valor devuelto por el contador de rendimiento es la suma de los valores de los contadores de todas las aplicaciones ASP.NET.

Vea también

Utilizar proveedores de datos de .NET Framework para obtener acceso a datos | Utilizar procedimientos almacenados con un comando | Recuperar datos mediante DataReader | Obtener un único valor de una base de datos | Realizar operaciones en la base de datos y modificar datos | OleDbCommand (Clase) | OleDbDataReader (Clase) | SqlCommand (Clase) | SqlDataReader (Clase)