OBJETO SQLCOMMAND


“AÑO DEL BUEN SERVICIO AL CIUDADANO”

INGENIERÍA DE SISTEMAS Y TELEMÁTICA
LABORATORIO DE PROGRAMACIÓN I
OBJETO SQLCOMMAND

AUTORES
MARCHENA HUANUIRE, Greinder Alexis
VASQUEZ VENTURA, Liz Evelin

DOCENTE
PORRO CHULLI, Marco Aurelio
BAGUA GRANDE - AMAZONAS
2017


OBJETOS SQLCOMMAND

DEFINICIÓN
Un SqlCommand se utiliza cuando necesitas ejecutar un tipo de sentencia Sql a la base de datos (los tipos pueden ser: Delete, Update, Insert o Select).
Cuando se crea una instancia de SqlCommand, las propiedades de lectura y escritura se establecen en sus valores iniciales. Para obtener una lista de esos valores, vea el constructor SqlCommand.

PROPIEDADES
NOMBRE
DESCRIPCIÓN
Obtiene o establece la configuración del cifrado de columnas para este comando.
Obtiene o establece la instrucción de Transact-SQL, el nombre de tabla o el procedimiento almacenado que se ejecutan en el origen de datos. (Invalida DbCommand.CommandText).
Obtiene o establece el tiempo de espera antes de terminar el intento de ejecutar un comando y generar un error. (Invalida DbCommand.CommandTimeout).
Obtiene o establece un valor que indica cómo se interpreta la propiedad CommandText. (Invalida DbCommand.CommandType).
Obtiene o establece la interfaz SqlConnection que usa esta instancia de SqlCommand.
Obtiene IContainer que contiene Component. (Heredado de Component).
Obtiene o establece un valor que indica si el objeto de comando debe estar visible en un control del Diseñador de Windows Forms. (Invalida DbCommand.DesignTimeVisible).
Obtiene o establece un valor que especifica el objeto SqlNotificationRequest enlazado a este comando.
Obtiene o establece un valor que indica si la aplicación debe recibir automáticamente notificaciones de consulta de un objeto SqlDependency común.
Obtiene la estructura SqlParameterCollection.
Obtiene o establece la ISite de la Component. (Heredado de Component).
Obtiene o establece la transacción SqlTransaction en la que se ejecuta SqlCommand.
Obtiene o establece la manera en que se aplican los resultados del comando a DataRow cuando lo utiliza el método Update de DbDataAdapter. (Invalida DbCommand.UpdatedRowSource).

MÉTODOS
NOMBRE
DESCRIPCIÓN
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand.
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand, dados un procedimiento de devolución de llamada e información de estado.
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand y recupera uno o varios conjuntos de resultados del servidor.
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand y recupera uno o varios conjuntos de resultados del servidor, dados un procedimiento de devolución de llamada e información de estado.
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand, utilizando uno de los valores de CommandBehavior y recuperando uno o varios conjuntos de resultados del servidor, a partir del procedimiento de devolución de llamada e información de estado dados.
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand utilizando uno de los valores de CommandBehavior.
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand y devuelve los resultados como un objeto XmlReader.
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand y devuelve los resultados como un objeto XmlReader a través de un procedimiento de devolución de llamada.
Intenta cancelar la ejecución de un SqlCommand.(Invalida DbCommand.Cancel()).
Crea un nuevo objeto SqlCommand que es una copia de la instancia actual.
Crea un objeto que contiene toda la información relevante necesaria para generar a un proxy que se utiliza para comunicarse con un objeto remoto.(Heredado de MarshalByRefObject).
Crea una nueva instancia de un objeto SqlParameter.
Libera todos los recursos que usa Component.(Heredado de Component).
Finaliza la ejecución asincrónica de una instrucción de Transact-SQL.
Finaliza la ejecución asincrónica de una instrucción de Transact-SQL y devuelve el objetoSqlDataReader solicitado.
Finaliza la ejecución asincrónica de una instrucción de Transact-SQL y devuelve los datos solicitados como XML.
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object).
Ejecuta una instrucción de Transact-SQL en la conexión y devuelve el número de filas afectadas. (Invalida DbCommand.ExecuteNonQuery()).
Una versión asincrónica de ExecuteNonQuery, que ejecuta una instrucción SQL en un objeto de conexión.
Invoca ExecuteNonQueryAsync con CancellationToken.None. (Heredado de DbCommand).
Versión asincrónica de ExecuteNonQuery, que ejecuta una instrucción de Transact-SQL con la conexión y devuelve el número de filas afectadas. Token de cancelación que se puede usar para solicitar que se abandone la operación antes de que transcurra el tiempo de espera del comando.Las excepciones se mostrarán a través del objeto Task devuelto.(Invalida DbCommand.ExecuteNonQueryAsync(CancellationToken)).
Envía la propiedad CommandText a Connection y crea un objeto SqlDataReader.
Envía CommandText a Connection y crea un SqlDataReader mediante uno de los valores deCommandBehavior.
Una versión asincrónica de ExecuteReader, que envía la propiedad CommandText a la propiedad Connection y compila SqlDataReader. Las excepciones se mostrarán a través del objeto Task devuelto.
Una versión asincrónica de ExecuteReader, que envía la propiedad CommandText a la propiedadConnection y compila SqlDataReader.
Token de cancelación que se puede usar para solicitar que se abandone la operación antes de que transcurra el tiempo de espera del comando. Las excepciones se mostrarán a través del objeto Task devuelto.
Versión asincrónica de ExecuteReader, que envía la propiedad CommandText a la propiedad Connection y compila SqlDataReader. Las excepciones se mostrarán a través del objeto Task devuelto.
Versión asincrónica de ExecuteReader, que envía la propiedad CommandText a la propiedad Connection y compila SqlDataReader
Token de cancelación que se puede usar para solicitar que se abandone la operación antes de que transcurra el tiempo de espera del comando. Las excepciones se mostrarán a través del objeto Task devuelto.
Ejecuta la consulta y devuelve la primera columna de la primera fila del conjunto de resultados devuelto por la consulta. Las demás columnas o filas no se tienen en cuenta. (Invalida DbCommand.ExecuteScalar()).
Una versión asincrónica de ExecuteScalar, que ejecuta la consulta y devuelve la primera columna de la primera fila del conjunto de resultados devuelto por la consulta. Se omiten todas las demás columnas y filas.
Invoca ExecuteScalarAsync con CancellationToken.None. (Heredado de DbCommand).
Versión asincrónica de ExecuteScalar que ejecuta la consulta asincrónicamente y devuelve la primera columna de la primera fila del conjunto de resultados que devuelve la consulta. Las demás columnas o filas no se tienen en cuenta.
Token de cancelación que se puede usar para solicitar que se abandone la operación antes de que transcurra el tiempo de espera del comando. Las excepciones se mostrarán a través del objeto Task devuelto. (Invalida DbCommand.ExecuteScalarAsync(CancellationToken)).
Envía CommandText a Connection y crea un objeto XmlReader.
Una versión asincrónica de ExecuteXmlReader, que envía la propiedad CommandText a la propiedad Connection y compila un objeto XmlReader.
Las excepciones se mostrarán a través del objeto Task devuelto.
Una versión asincrónica de ExecuteXmlReader, que envía la propiedad CommandText a la propiedad Connection y compila un objeto XmlReader.
Token de cancelación que se puede usar para solicitar que se abandone la operación antes de que transcurra el tiempo de espera del comando. Las excepciones se mostrarán a través del objeto Task devuelto.
Sirve como la función hash predeterminada. (Heredado de Object).
Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Heredado de MarshalByRefObject).
Obtiene el Type de la instancia actual. (Heredado de Object).
Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Heredado de MarshalByRefObject).
Crea una versión preparada del comando en una instancia de SQL Server. (Invalida DbCommand.Prepare()).
Restablece el valor predeterminado de la propiedad CommandTimeout.
Devuelve un String que contiene el nombre de la Component, si existe. Este método no se debe invalidar. (Heredado de Component).

EJEMPLO:
public List Listar()
{
    SqlConnection con = new SqlConnection(cadenaConexion);
    SqlCommand com = new SqlCommand("LISTAR_CAMPANAS", con);
    com.CommandType = System.Data.CommandType.StoredProcedure;
     con.Open();
    SqlDataReader drCampanas = com.ExecuteReader();
    List listaCampanas = new List();
    while (drCampanas.Read())
    {
        listaCampanas.Add(Cargar(drCampanas));
    }
    drCampanas.Close();
    con.Close();
    return listaCampanas;
}


RESUMEN
Con la definición, los métodos y las propiedades de un objeto Command, podemos hacer lo siguiente:
Definir el texto ejecutable del comando (por ejemplo, una instrucción SQL o un procedimiento almacenado) utilizando la propiedad CommandText.
Definir consultas parametrizadas o argumentos de procedimientos almacenados utilizando objetos Parameter y la colección Parameters.
Ejecutar un comando y devolver un objeto Recordset, si procede, usando el método Execute.
Especificar el tipo de comando mediante la propiedad CommandType antes de la ejecución para optimizar el rendimiento.
Controlar si el proveedor guarda una versión preparada (o compilada) del comando antes de la ejecución mediante la propiedad Prepared.
Establecer el número de segundos que esperará un proveedor para la ejecución de un comando mediante la propiedad CommandTimeout.
Asociar una conexión abierta con un objeto Command estableciendo su propiedad ActiveConnection.
Establecer la propiedad Name para identificar el objeto Command como un método en el objeto Connection asociado.
Pasar un objeto Command a la propiedad Source de un conjunto de registros para obtener datos.


SUMMARY
With the definition, methods and properties of a Command object, we can do the following:
Define the command's executable text (for example, an SQL statement or a stored procedure) using the CommandText property.
Define parameterized queries or stored procedure arguments using Parameter objects and the Parameters collection.
Run a command and return a Recordset object, if applicable, using the Execute method.
Specify the command type by using the CommandType property before execution to optimize performance.
Control whether the provider saves a prepared (or compiled) version of the command before execution by using the Prepared property.
Set the number of seconds a vendor will wait for a command to execute by using the CommandTimeout property.
Associate an open connection with a Command object by setting its ActiveConnection property.
Set the Name property to identify the Command object as a method on the associated Connection object.
Pass a Command object to the Source property of a recordset to get data.


RECOMENDACIONES
·         Se recomienda utilizar el Objeto SqlCommand solamente cuando necesites ejecutar un tipo de sentencia Sql a la base de datos. No podrás utilizar el Objeto SqlCommand cuando necesites ejecutar más de un tipo de sentencia Sql o si trabajarás en escenarios desconectados.
·         Si deseamos ejecutar más de un tipo de sentencia Sql a la base de datos se recomienda utilizar SqlDataAdapter.

CONCLUSIONES
·         Se puede restablecer el valor de la propiedad CommandText y volver a utilizar el objeto SqlCommand. Sin embargo, es necesario cerrar SqlDataReader para poder ejecutar un comando nuevo o previo.
·         Si el método que ejecuta un objeto SqlCommand genera una excepción SqlException, SqlConnection permanece abierta cuando el nivel de gravedad es igual o menor que 19. Si el nivel de gravedad es igual o mayor que 20, normalmente, el servidor cierra la conexión SqlConnection. Sin embargo, el usuario puede volver a abrir la conexión y continuar.
·         El SqlCommand tiene un constructor y esto se puede especificar su conexión y el texto de SQL.

GLOSARIO
·         DELETE - SQL (Comando) Marca los registros que se van a eliminar. DELETE FROM [DatabaseName!]TableName [WHERE FilterCondition1 [AND.
·         UPDATE - SQL (Comando) Actualiza registros de una tabla con nuevos valores.
·         INSERT - SQL (Comando) Anexa un registro al final de una tabla que contiene los valores de campo especificados. INSERT INTO dbf_name [(fname1 [, fname2, ...])] VALUES (eExpression1 [, eExpression2, ...])
·         SELECT - Para realizar consultas sobre las tablas de las bases de datos disponemos de la instrucción SELECT. Con ella podemos consultar una o varias tablas. Es sin duda el comando más versátil del lenguaje SQL. Existen muchas cláusulas asociadas a la sentencia SELECT (GROUP BY, ORDER, HAVING, UNION).
·         Transact-SQL (T-SQL) - es una extensión al SQL de Microsoft y Sybase. SQL, que frecuentemente se dice ser un Lenguaje de Búsquedas Estructurado (por sus siglas en inglés), es un lenguaje de cómputo estandarizado, desarrollado originalmente por IBM para realizar búsquedas, alterar y definir bases de datos relacionales utilizando sentencias declarativas.

BIBLIOGRAFÍA

dotnetperls. (s.f.). dotnetperls.com. Obtenido de dotnetperls.com: https://www.dotnetperls.com/sqlcommand
Martín, P. R. (17 de de febrero de 2006). DesarrolloWeb.com . Obtenido de DesarrolloWeb.com : https://desarrolloweb.com/articulos/2375.php
microsoft. (Octubre de 2016). microsoft.com. Obtenido de microsoft.com: https://msdn.microsoft.com/es-es/library/system.data.sqlclient.sqlcommand_methods(v=vs.110).aspx
microsoft. (Octubre de 2016). microsoft.com. Obtenido de microsoft.com: https://msdn.microsoft.com/es-es/library/system.data.sqlclient.sqlcommand_properties(v=vs.110).aspx

AQUÍ LES DEJAMOS UN VÍDEO COMO EJEMPLO:



AQUÍ LES DEJAMOS EL LINK DE NUSTRAS DIAPOSITIVAS:

Comentarios

Entradas populares de este blog

Espacio de Nombre System.Data.SQLClient

ADO.NET