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 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.
|
|
|
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 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.
|
|
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
Alvis, J. A. (s.f.). wordpress.com. Obtenido de wordpress.com:
https://jacace.wordpress.com/2012/01/22/en-que-casos-se-debe-usar-un-sqlcommand-o-sqldataadapter/
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
Comentarios
Publicar un comentario