1.
Contenido
Î Definición:
Representa un procedimiento
almacenado o una instrucción de Transact-SQL que se ejecuta en una base de
datos de SQL Server. Ejecuta comandos
SQL, y podemos navegar por la BD como en una página web, fácil de instalar y
quitar, los tipos de comandos pueden ser:
·
DELETE
·
UPDATE
·
SELECT o
·
INSERT
Después de establecer la conexión
con la BD, se usa el objeto Command para ejecutar sentencias SQl y devolver
resultados.
·
OleDbCommand: Datos compatibles con OleDb.
·
OdbcCommand: Datos compatibles con Odbc.
·
SqlCommand: Datos compatibles con SQL Server.
·
OracleCommand: Datos compatibles con Oracle.
Î
Propiedades:
·
ColumnEncryptionSetting:
Obtiene o establece la
configuración del cifrado de columnas para este comando.
Sintaxis:
<BrowsableAttribute(False)>
Public ReadOnly Property
ColumnEncryptionSetting As SqlCommandColumnEncryptionSetting
·
CommandText:
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).
Sintaxis:
Public Overrides Property
CommandText As String
Ejemplo:
Public Sub CreateCommand()
Dim command As New SqlCommand()
command.CommandText = "SELECT * FROM
Categories ORDER BY CategoryID"
command.CommandTimeout = 15
command.CommandType = CommandType.Text
End Sub
·
CommandTimeout:
Obtiene o establece el tiempo de
espera antes de terminar el intento de ejecutar un comando y generar un error.
(Invalida DbCommand.CommandTimeout).
Sintaxis:
Public Overrides Property
CommandTimeout As Integer
·
CommandType:
Obtiene o establece un valor que
indica cómo se interpreta la propiedad CommandText. (Invalida
DbCommand.CommandType).
Sintaxis:
Public Overrides Property
CommandType As CommandType
Ejemplo:
Public Sub CreateSqlCommand()
Dim command As New SqlCommand()
command.CommandTimeout = 15
command.CommandType = CommandType.Text
End Sub
·
Connection:
Obtiene o establece la interfaz
SqlConnection que usa esta instancia de SqlCommand.
·
Container:
Obtiene IContainer que contiene
Component. (Heredado de Component).
·
DesignTimeVisible
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).
·
Notification
Obtiene o establece un valor que
especifica el objeto SqlNotificationRequest enlazado a este comando.
·
NotificationAutoEnlist
Obtiene o establece un valor que
indica si la aplicación debe recibir automáticamente notificaciones de consulta
de un objeto SqlDependency común.
·
Parameters
Obtiene la estructura
SqlParameterCollection.
·
Site
Obtiene o establece la ISite de
la Component.(Heredado de Component).
·
Transaction
Obtiene o establece la
transacción SqlTransaction en la que se ejecuta SqlCommand.
·
UpdatedRowSource
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:
·
BeginExecuteNonQuery()
Inicia la ejecución asincrónica
de la instrucción de Transact-SQL o del procedimiento almacenado que describe
SqlCommand.
·
BeginExecuteNonQuery (AsyncCallback, Object)
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.
·
BeginExecuteReader ()
Inicia la ejecución a sincró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.
·
BeginExecuteReader (AsyncCallback, Object)
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.
·
BeginExecuteReader(CommandBehavior)
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.
·
BeginExecuteXmlReader()
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.
·
BeginExecuteXmlReader(AsyncCallback, Object)
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.
·
Cancel ()
Intenta cancelar la ejecución de
un SqlCommand. (Invalida DbCommand.Cancel()).
·
Clone ()
Crea un nuevo objeto SqlCommand
que es una copia de la instancia actual.
·
CreateObjRef (Type)
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).
·
CreateParameter()
Crea una nueva instancia de un
objeto SqlParameter.
·
Dispose()
Libera todos los recursos que usa
Component. (Heredado de Component).
·
EndExecuteNonQuery(IAsyncResult)
Finaliza la ejecución asincrónica
de una instrucción de Transact-SQL.
·
EndExecuteReader(IAsyncResult)
Finaliza la ejecución asincrónica
de una instrucción de Transact-SQL y devuelve el objeto SqlDataReader
solicitado.
·
EndExecuteXmlReader(IAsyncResult)
Finaliza la ejecución asincrónica
de una instrucción de Transact-SQL y devuelve los datos solicitados como XML.
·
Equals(Object)
Determina si el objeto
especificado es igual al objeto actual. (Heredado de Object).
·
ExecuteNonQuery()
Ejecuta una instrucción de
Transact-SQL en la conexión y devuelve el número de filas afectadas. (Invalida
DbCommand.ExecuteNonQuery()).
·
ExecuteReader ()
Envía la propiedad CommandText a
Connection y crea un objeto SqlDataReader.
·
ExecuteScalar ()
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()).
·
GetHashCode ()
Sirve como la función hash
predeterminada. (Heredado de Object).
·
GetType ()
Obtiene el Type de la instancia
actual. (Heredado de Object).
·
Prepare ()
Crea una versión preparada del
comando en una instancia de SQL Server. (Invalida DbCommand.Prepare()).
·
ResetCommandTimeout ()
Restablece el valor
predeterminado de la propiedad CommandTimeout.
·
ToString ()
Devuelve un String que contiene
el nombre de la Component, si existe. Este método no se debe invalidar. (Heredado
de Component).
Î
Ejemplos:
Veamos un ejemplo de uso:
–Ejemplo Select con Variables
Declare @Nombre Varchar(20)
Set @Nombre = ‘José’
Select * From Empleados Where Nombre = @Nombre
–Ejemplo Update con Variables
Declare @IdEmpleado int
Declare @Sueldo Money
Set @IdEmpleado = 12
Set @Sueldo = 1000
Update Empleado Set Sueldo =
@Sueldo Where IdEmpleado = @IdEmpleado
Suponiendo que se tiene un
TextBox llamado txtNombre que será utilizado para tomar el valor del nombre y
un objeto SqlConnection declarado con el nombre cnn y previamente inicializado
se tiene lo siguiente:
En VB.NET
Dim cmd As
System.Data.SqlClient.SqlCommand
cmd = New
System.Data.SqlClient.SqlCommand()
cmd.Connection = cnn
cmd.CommandText = _
“Select * From Empleados Where Nombre = ‘”
& txtNombre.Text & “‘”
cmd.ExecuteNonQuery()
El uso de parámetros es realmente
simple, sin embargo hay varias maneras de utilizarlos, una sería la manera
larga, o con más código, donde declaramos primeramente nuestro SqlParameter
para después inicializarlo y configurarlo y para luego agregarlo a la colección
de parámetros del SqlCommand. La manera larga se muestra en el siguiente
ejemplo:
En VB.NET
Dim cmd As
System.Data.SqlClient.SqlCommand
cmd = New
System.Data.SqlClient.SqlCommand()
cmd.Connection = cnn
cmd.CommandText = _
“Select * From Empleados Where Nombre =
@Nombre”
Dim param As
System.Data.SqlClient.SqlParameter
param = New
System.Data.SqlClient.SqlParameter()
param.ParameterName = “@Nombre”
param.SqlDbType =
SqlDbType.VarChar
param.Size = 20
param.Value = txtNombre.Text
cmd.Parameters.Add(param)
cmd.ExecuteNonQuery()
2.
Resumen:
El objeto SqlCommand ejecuta comandos SQL, después de establecer la
conexión con la BD, se usa el objeto Command para ejecutar sentencias SQl y
devolver resultados. Tiene propiedades y métodos para su uso en diferentes
lenguajes de programación.
3.
Summary:
The SqlCommand object executes
SQL commands, after establishing the connection with the DB, the Command object
is used to execute SQl statements and return results. It has properties and
methods for use in different programming languages.
4.
Recomendaciones:
· Para
utilizar el objeto SqlCommand en visual es importante importar la siguiente
sentencia:
Imports System.Data.SqlClient.
· No hay
que olvidar que el objeto SqlCommand es el lee los procedimientos almacenados,
para esto es necesario tenerlos en la base de datos y llamarlos en un lenguaje
de programación.
5.
Conclusiones:
· Podemos
concluir que si sólo necesitamos ejecutar un tipo de sentencia Sql a la base de
datos hay que utilizar el objeto SqlCommand.
· El objeto
SqlCommand puede ejecutar comandos tales como: Insert, Delete, Update o Select.
6.
Apreciación del Equipo
El objeto SqlCommand es importante utilizar en algún lenguaje de
programación porque nos ayuda a leer los procedimientos almacenados que hay en la
base de datos, estos procedimientos almacenados ayudan a que el software a desarrollar
se ejecute con más rapidez y tenga menos interrupciones o errores.
7.
Glosario de Términos:
· Transact-SQL: Es una extensión al SQL de Microsoft y Sysbases.
SQL, que frecuentemente se dice ser un Lenguaje de Búsquedas Estructurado, lenguaje
de cómputo estandarizado, desarrollado originalmente por IBM para realizar
búsquedas, alterar y definir bases de datos relacionales utilizando sentencias
declarativas
· Comandos: Instrucción u orden que el usuario proporciona a un sistema
informático, desde la línea de comandos o desde una llamada de programación.
Puede ser interno (contenido en el propio intérprete) o externo (contenido en
un archivo ejecutable).
· Sentencias sql: Pertenecen a dos categorías principales:
Lenguaje de Definición de Datos, DDL y Lenguaje de Manipulación de Datos, DML.
Estos dos lenguajes no son lenguajes en sí mismos, sino que es una forma de
clasificar las sentencias de lenguaje SQL en función de su cometido.
· Cifrado: Es una solución de seguridad versátil; se puede aplicar a un
dato en concreto, como una contraseña, a un grupo de datos dentro de un archivo
o, incluso, a todos los datos guardados en un dispositivo de almacenamiento.
· Enlazado: Es un proceso que une el código de los módulos y bibliotecas
que forman un programa para generar el ejecutable final.
· Asincrónica: Proceso comunicativo que se lleva a cabo
sin coincidencia temporal. Esto quiere decir que la emisión y la recepción de
los mensajes están separadas por un cierto periodo de tiempo.
8.
Bibliografía o Linkografía
9. Diapositivas:
Comentarios
Publicar un comentario