SlideShare una empresa de Scribd logo
1 de 14
“AÑO DEL BUEN SERVICIO AL CUIDADANO”
TEMA: OBJETO SQLCOMMAND.
CURSO: LABORATORIO DE PROGRAMACIÓN I.
ESPECIALIDAD: INGENIERIA DE SISTEMAS Y TELEMATICA.
NOMBRE Y APELLIDO : GILDA PAMELA SILVA FLORES
DOCENTE: MARCO AURELIO PORRO CHULLI
CILCO: IV – A AULA: 501
BAGUA GRANDE– PERÚ
2017
Definición
Podemos actualizar una base de datos usando las instrucciones
Insert, Update o DeleteSQL y utilizando el método ExecuteNonQuery
del objeto Command.Creamos un GridView para mostrar la tabla
Shipper.Esta tabla contiene tres campos ShipperID, CompanyName y
Pone Los campos de texto, servirán para introducir o
editar datos de CompanyName y Pone porque ShipperID lo tienes
definido como auto numérico. Añadimos un botón seleccionar a la
primera columna. Ponemos también tres botones con Añadir, Editar y
Eliminar. También serán necesarios crear unos cuadros de texto con
sus id correspondientes. Comprueba el código HTML y nos
encontramos la etiqueta form con su runat y dentro el GridView.
ELEMENTO DESCRIPCIÓN
BeginExecuteNonQuery Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del
procedimiento almacenado que describe SqlCommand, generalmente
ejecutando comandos como las instrucciones INSERT, DELETE,
UPDATE y SET. Cada llamada a BeginExecuteNonQuery debe ir
acompañada de una llamada a EndExecuteNonQuery, que finaliza la
operación, normalmente en un subproceso independiente.
BeginExecuteReader 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. Cada llamada
a BeginExecuteReader debe ir acompañada de una llamada
a EndExecuteReader, que finaliza la operación, normalmente en un
subproceso independiente.
BeginExecuteXmlReader Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del
procedimiento almacenado que describe SqlCommand. Cada llamada
a BeginExecuteXmlReader debe ir acompañada de una llamada
a EndExecuteXmlReader, que finaliza la operación, normalmente en
un subproceso independiente, y devuelve un objeto XmlReader.
ExecuteNonQuery Ejecuta comandos como instrucciones INSERT, DELETE, UPDATE y
SET de Transact-SQL.
ExecuteReader Ejecuta comandos que devuelven filas. Para obtener un mayor
rendimiento, ExecuteReader invoca a los comandos mediante el
procedimiento almacenado en el sistema sp_executesql de Transact-
SQL. Por consiguiente, ExecuteReader puede no tener el efecto
deseado si se utiliza para ejecutar comandos como las instrucciones
SET de Transact-SQL.
ExecuteScalar Recupera un único valor (por ejemplo, un valor agregado) de una base
de datos.
Propiedades
NOMBRE DESCRIPCIÓN
ColumnEncryptionSett
ing
Obtiene o establece la configuración del cifrado de columnas para este
comando.
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).
CommandTimeout Obtiene o establece el tiempo de espera antes de terminar el intento de ejecutar
un comando y generar un error. (Invalida DbCommand.CommandTimeout).
CommandType Obtiene o establece un valor que indica cómo se interpreta la
propiedad CommandText. (Invalida DbCommand.CommandType).
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.
Implementaciones de interfaz explícitas
NOMBRE DESCRIPCIÓN
IDbCommand.Connectio
n
Obtiene o establece la interfaz IDbConnection que usa
esta instancia de IDbCommand. (Heredado
de DbCommand).
IDbCommand.Parameter
s
Obtiene la estructura IDataParameterCollection.
(Heredado de DbCommand).
IDbCommand.Transactio
n
Obtiene o establece DbTransaction dentro del cual se
ejecuta este objeto DbCommand. (Heredado
de DbCommand).
NOMBRE DESCRIPCIÓN
SqlCommand() Inicializa una nueva instancia de la clase SqlCommand.
SqlCommand(String) Inicializa una nueva instancia de la
clase SqlCommand con el texto de la consulta.
SqlCommand(String, SqlConnection) Inicializa una nueva instancia de la
clase SqlCommand con el texto de la consulta y una
conexión SqlConnection.
SqlCommand(String, SqlConnection,
SqlTransaction)
Inicializa una nueva instancia de la
clase SqlCommand con el texto de la consulta, un
objeto SqlConnection y el objeto SqlTransaction.
SqlCommand(String, SqlConnection,
SqlTransaction,
SqlCommandColumnEncryptionSettin
g)
Inicializa una nueva instancia de la
clase SqlCommand con texto de comando
especificado, conexión, transacción y configuración de
cifrado.
Constructores
Métodos
NOMBRE DESCRIPCIÓN
BeginExecuteNon
Query()
Inicia la ejecución asincrónica de la instrucción de Transact-SQL o
del procedimiento almacenado que describe SqlCommand.
BeginExecuteNonQuery(Asyn
cCallback, 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(AsyncC
allback, 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(AsyncC
allback, 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(AsyncC
allback, Object,
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 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.
BeginExecuteReader(Com
mandBehavior)
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 XML Reader.
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 XML Reader 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).
Ejemplos
En el siguiente ejemplo, se crean una
conexión SqlConnection, un objeto SqlCommand y
un SqlDataReader. Posteriormente, se leen los datos y se
escriben en la consola. Por último, en el ejemplo se
cierra SqlDataReader y, a continuación, SqlConnection.
 VB
private static void ReadOrderData(string connectionString)
{
string queryString =
"SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(
queryString, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
try
{
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}",
reader[0], reader[1]));
}
}
finally
{
// Always call Close when done reading.
reader.Close();
}
}
}
 VB
public void CreateCommand()
{ SqlCommand command = new SqlCommand();
command.CommandText = "SELECT * FROM Categories ORDER BY
CategoryID";
command.CommandTimeout = 15;
command.CommandType = CommandType.Text;
}
 VB
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
}
Resumen
La diferencia más importante entre esta fase evolucionada de ADO.NET y
las arquitecturas de datos anteriores es que existe un objeto, DataSet,
que es independiente y diferente de los almacenes de datos. Por
ello, DataSet funciona como una entidad independiente. Se puede
considerar el objeto DataSet como un conjunto de registros que siempre
está desconectado y que no sabe nada sobre el origen y el destino de los
datos que contiene. Dentro de un objeto DataSet, de la misma manera
que dentro de una base de datos, hay tablas, columnas, relaciones,
restricciones, vistas, etc. El objeto DataAdapter es el objeto que se
conecta a la base de datos para llenar el objeto DataSet. A continuación,
se vuelve a conectar a la base de datos para actualizar los datos de
dicha base de datos a partir de las operaciones realizadas en los datos
contenidos en el objeto DataSet. En el pasado, el procesamiento de
datos se basaba principalmente en la conexión. Ahora, con el fin de
proporcionar a las aplicaciones multinivel mayor eficacia, se está
adoptando para el procesamiento de datos un enfoque basado en
mensajes que manipulan fragmentos de información.
 Utilizamos el Objeto SqlCommand solamente cuando necesitamos
ejecutar un tipo de sentencia Sql a la base de datos.
 Si deseamos ejecutar más de un tipo de sentencia Sql a la base de
datos es recomendable utilizar SqlDataAdapter.
 No podrás utilizar el Objeto SqlCommand cuando necesitas ejecutar
más de un tipo de sentencia Sql o si trabajarás en escenarios
desconectados.
Recomendaciones
Podemos decir que si solo necesitamos ejecutar un tipo de sentencia Sql a
la base de datos hay que utilizar el Objeto SqlCommand. El Objeto
SqlCommand utiliza tipos que pueden ser: Delete, Update, Insert o Select.
Podemos concluir que si no necesitas trabajar en escenarios
desconectados y si solo necesitas utilizar un comando a la vez, utiliza un
SqlCommand, de lo contrario un SqlDataAdapter.
Conclusiones
 Abstraction (abstracción). Característica esencial de un objeto que lo
diferencia de otros objetos.
 SERVER (SERVIDOR): Un objeto que proporciona servicios que se
utilizan por otros objetos. Los objetos que utilizan los servicios son
clientes.
 Abstract class (clase abstracta): Una clase abstracta actúa como una
plantilla de otras clases. Normalmente se utiliza como la raíz de una
jerarquía de clases.
 Object (objeto): Combinación de datos y colección de operaciones
que actúan sobre los datos. En c++, una instancia de una clase (un
tipo objeto). Variable: Posición de almacenamiento que puede
contener diferentes valores.
 Void (C++): Un nombre de un tipo utilizado para indicar que una
función no devuelve ningún valor, esto es, un procedimiento.
 Void keyword (palabra reservada void): Palabra reservada que indica
tipo desconocido o ningún tipo. Un procedimiento es una función que
devuelve void.
Glosario de términos

Más contenido relacionado

La actualidad más candente (18)

Sqlcommand
SqlcommandSqlcommand
Sqlcommand
 
CONECTAR C# CON POSTGRESQL USANDO NPGSQL 2.0.11
CONECTAR  C# CON POSTGRESQL  USANDO NPGSQL 2.0.11CONECTAR  C# CON POSTGRESQL  USANDO NPGSQL 2.0.11
CONECTAR C# CON POSTGRESQL USANDO NPGSQL 2.0.11
 
Objeto connection
Objeto connectionObjeto connection
Objeto connection
 
Objeto sqlcommand
Objeto sqlcommandObjeto sqlcommand
Objeto sqlcommand
 
Sqlcommand
SqlcommandSqlcommand
Sqlcommand
 
Find File Servlet DB
Find File Servlet DBFind File Servlet DB
Find File Servlet DB
 
Programa Java que gestiona los productos que comercializan varios viveros
Programa Java que gestiona los productos que comercializan varios viverosPrograma Java que gestiona los productos que comercializan varios viveros
Programa Java que gestiona los productos que comercializan varios viveros
 
Vistas
VistasVistas
Vistas
 
Lpiii tema5 - jdbc
Lpiii tema5 - jdbcLpiii tema5 - jdbc
Lpiii tema5 - jdbc
 
Servlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLServlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTML
 
Buenas
BuenasBuenas
Buenas
 
Oledbconnection (clase)
Oledbconnection (clase)Oledbconnection (clase)
Oledbconnection (clase)
 
System.data.oledb
System.data.oledbSystem.data.oledb
System.data.oledb
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Lumisaca hector bdii_t7
Lumisaca hector bdii_t7Lumisaca hector bdii_t7
Lumisaca hector bdii_t7
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
 
My Sql A C#
My Sql A C#My Sql A C#
My Sql A C#
 
Sqlcommand
SqlcommandSqlcommand
Sqlcommand
 

Similar a LABORATORIO DE PROGRAMACIÓN I.

ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENTESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENTLisbeth Ocaña Bueno
 
Trabajando con Procedimientos Almacenados y VB.Net
Trabajando con Procedimientos Almacenados y VB.NetTrabajando con Procedimientos Almacenados y VB.Net
Trabajando con Procedimientos Almacenados y VB.NetAlberto Navarro Sorolla
 
Espacio de nombres system.data.sql client
Espacio de nombres system.data.sql clientEspacio de nombres system.data.sql client
Espacio de nombres system.data.sql clientFiorella Aguilar Isuiza
 
Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCCarlos Hernando
 
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-20063. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006Samuel Marrero
 
Desarrollo de práctica para un modelo de tres capas
Desarrollo de práctica para un modelo de tres capasDesarrollo de práctica para un modelo de tres capas
Desarrollo de práctica para un modelo de tres capasNelson Salinas
 
Precentacion de sql visual
Precentacion de sql visualPrecentacion de sql visual
Precentacion de sql visualBryanChacon12
 
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENTESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENTMODA ESTILO Y BELLEZA
 

Similar a LABORATORIO DE PROGRAMACIÓN I. (20)

Objeto slqcommand
Objeto slqcommandObjeto slqcommand
Objeto slqcommand
 
Ado
AdoAdo
Ado
 
Presentación1
Presentación1Presentación1
Presentación1
 
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENTESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
 
Conexion Visual
Conexion Visual Conexion Visual
Conexion Visual
 
Trabajando con Procedimientos Almacenados y VB.Net
Trabajando con Procedimientos Almacenados y VB.NetTrabajando con Procedimientos Almacenados y VB.Net
Trabajando con Procedimientos Almacenados y VB.Net
 
Statement
StatementStatement
Statement
 
Espacio de nombres system.data.sql client
Espacio de nombres system.data.sql clientEspacio de nombres system.data.sql client
Espacio de nombres system.data.sql client
 
Resulset en java
Resulset en javaResulset en java
Resulset en java
 
Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBC
 
System.Data.SqlClient
System.Data.SqlClient System.Data.SqlClient
System.Data.SqlClient
 
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-20063. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
 
Desarrollo de práctica para un modelo de tres capas
Desarrollo de práctica para un modelo de tres capasDesarrollo de práctica para un modelo de tres capas
Desarrollo de práctica para un modelo de tres capas
 
Espacio de nombres system.data.sqlclient
Espacio de nombres system.data.sqlclientEspacio de nombres system.data.sqlclient
Espacio de nombres system.data.sqlclient
 
Connection Java
Connection JavaConnection Java
Connection Java
 
Precentacion de sql visual
Precentacion de sql visualPrecentacion de sql visual
Precentacion de sql visual
 
NameSpace
NameSpaceNameSpace
NameSpace
 
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENTESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
 
Espacio de nombres System.Data.SQLClient
Espacio de nombres System.Data.SQLClientEspacio de nombres System.Data.SQLClient
Espacio de nombres System.Data.SQLClient
 
Definición de-espacio-de-nombres
Definición de-espacio-de-nombresDefinición de-espacio-de-nombres
Definición de-espacio-de-nombres
 

Más de SILVA19_PAMELA

LABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ILABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ISILVA19_PAMELA
 
Año del buen servicio al cuidadano
Año del buen servicio al cuidadanoAño del buen servicio al cuidadano
Año del buen servicio al cuidadanoSILVA19_PAMELA
 
LABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ILABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ISILVA19_PAMELA
 
LABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ILABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ISILVA19_PAMELA
 
GESTOR DE BASES DE DATOS
GESTOR DE BASES DE DATOSGESTOR DE BASES DE DATOS
GESTOR DE BASES DE DATOSSILVA19_PAMELA
 
LABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ILABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ISILVA19_PAMELA
 

Más de SILVA19_PAMELA (10)

Jdbc
JdbcJdbc
Jdbc
 
LABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ILABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN I
 
OBJETO SQLCOMMAND.
OBJETO SQLCOMMAND.OBJETO SQLCOMMAND.
OBJETO SQLCOMMAND.
 
Año del buen servicio al cuidadano
Año del buen servicio al cuidadanoAño del buen servicio al cuidadano
Año del buen servicio al cuidadano
 
LABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ILABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN I
 
LABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ILABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN I
 
GESTOR DE BASES DE DATOS
GESTOR DE BASES DE DATOSGESTOR DE BASES DE DATOS
GESTOR DE BASES DE DATOS
 
LABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ILABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN I
 
Diapositiva
DiapositivaDiapositiva
Diapositiva
 
Programacion
ProgramacionProgramacion
Programacion
 

LABORATORIO DE PROGRAMACIÓN I.

  • 1. “AÑO DEL BUEN SERVICIO AL CUIDADANO” TEMA: OBJETO SQLCOMMAND. CURSO: LABORATORIO DE PROGRAMACIÓN I. ESPECIALIDAD: INGENIERIA DE SISTEMAS Y TELEMATICA. NOMBRE Y APELLIDO : GILDA PAMELA SILVA FLORES DOCENTE: MARCO AURELIO PORRO CHULLI CILCO: IV – A AULA: 501 BAGUA GRANDE– PERÚ 2017
  • 2. Definición Podemos actualizar una base de datos usando las instrucciones Insert, Update o DeleteSQL y utilizando el método ExecuteNonQuery del objeto Command.Creamos un GridView para mostrar la tabla Shipper.Esta tabla contiene tres campos ShipperID, CompanyName y Pone Los campos de texto, servirán para introducir o editar datos de CompanyName y Pone porque ShipperID lo tienes definido como auto numérico. Añadimos un botón seleccionar a la primera columna. Ponemos también tres botones con Añadir, Editar y Eliminar. También serán necesarios crear unos cuadros de texto con sus id correspondientes. Comprueba el código HTML y nos encontramos la etiqueta form con su runat y dentro el GridView.
  • 3. ELEMENTO DESCRIPCIÓN BeginExecuteNonQuery Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand, generalmente ejecutando comandos como las instrucciones INSERT, DELETE, UPDATE y SET. Cada llamada a BeginExecuteNonQuery debe ir acompañada de una llamada a EndExecuteNonQuery, que finaliza la operación, normalmente en un subproceso independiente. BeginExecuteReader 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. Cada llamada a BeginExecuteReader debe ir acompañada de una llamada a EndExecuteReader, que finaliza la operación, normalmente en un subproceso independiente. BeginExecuteXmlReader Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand. Cada llamada a BeginExecuteXmlReader debe ir acompañada de una llamada a EndExecuteXmlReader, que finaliza la operación, normalmente en un subproceso independiente, y devuelve un objeto XmlReader. ExecuteNonQuery Ejecuta comandos como instrucciones INSERT, DELETE, UPDATE y SET de Transact-SQL. ExecuteReader Ejecuta comandos que devuelven filas. Para obtener un mayor rendimiento, ExecuteReader invoca a los comandos mediante el procedimiento almacenado en el sistema sp_executesql de Transact- SQL. Por consiguiente, ExecuteReader puede no tener el efecto deseado si se utiliza para ejecutar comandos como las instrucciones SET de Transact-SQL. ExecuteScalar Recupera un único valor (por ejemplo, un valor agregado) de una base de datos.
  • 4. Propiedades NOMBRE DESCRIPCIÓN ColumnEncryptionSett ing Obtiene o establece la configuración del cifrado de columnas para este comando. 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). CommandTimeout Obtiene o establece el tiempo de espera antes de terminar el intento de ejecutar un comando y generar un error. (Invalida DbCommand.CommandTimeout). CommandType Obtiene o establece un valor que indica cómo se interpreta la propiedad CommandText. (Invalida DbCommand.CommandType). 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.
  • 5. Implementaciones de interfaz explícitas NOMBRE DESCRIPCIÓN IDbCommand.Connectio n Obtiene o establece la interfaz IDbConnection que usa esta instancia de IDbCommand. (Heredado de DbCommand). IDbCommand.Parameter s Obtiene la estructura IDataParameterCollection. (Heredado de DbCommand). IDbCommand.Transactio n Obtiene o establece DbTransaction dentro del cual se ejecuta este objeto DbCommand. (Heredado de DbCommand).
  • 6. NOMBRE DESCRIPCIÓN SqlCommand() Inicializa una nueva instancia de la clase SqlCommand. SqlCommand(String) Inicializa una nueva instancia de la clase SqlCommand con el texto de la consulta. SqlCommand(String, SqlConnection) Inicializa una nueva instancia de la clase SqlCommand con el texto de la consulta y una conexión SqlConnection. SqlCommand(String, SqlConnection, SqlTransaction) Inicializa una nueva instancia de la clase SqlCommand con el texto de la consulta, un objeto SqlConnection y el objeto SqlTransaction. SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSettin g) Inicializa una nueva instancia de la clase SqlCommand con texto de comando especificado, conexión, transacción y configuración de cifrado. Constructores
  • 7. Métodos NOMBRE DESCRIPCIÓN BeginExecuteNon Query() Inicia la ejecución asincrónica de la instrucción de Transact-SQL o del procedimiento almacenado que describe SqlCommand. BeginExecuteNonQuery(Asyn cCallback, 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(AsyncC allback, 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(AsyncC allback, 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(AsyncC allback, Object, 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 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.
  • 8. BeginExecuteReader(Com mandBehavior) 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 XML Reader. 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 XML Reader 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).
  • 9. Ejemplos En el siguiente ejemplo, se crean una conexión SqlConnection, un objeto SqlCommand y un SqlDataReader. Posteriormente, se leen los datos y se escriben en la consola. Por último, en el ejemplo se cierra SqlDataReader y, a continuación, SqlConnection.  VB private static void ReadOrderData(string connectionString) { string queryString = "SELECT OrderID, CustomerID FROM dbo.Orders;"; using (SqlConnection connection = new SqlConnection( connectionString)) { SqlCommand command = new SqlCommand( queryString, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); try
  • 10. { while (reader.Read()) { Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1])); } } finally { // Always call Close when done reading. reader.Close(); } } }  VB public void CreateCommand() { SqlCommand command = new SqlCommand(); command.CommandText = "SELECT * FROM Categories ORDER BY CategoryID";
  • 11. command.CommandTimeout = 15; command.CommandType = CommandType.Text; }  VB private static void CreateCommand(string queryString, string connectionString) { using (SqlConnection connection = new SqlConnection( connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); command.Connection.Open(); command.ExecuteNonQuery(); } }
  • 12. Resumen La diferencia más importante entre esta fase evolucionada de ADO.NET y las arquitecturas de datos anteriores es que existe un objeto, DataSet, que es independiente y diferente de los almacenes de datos. Por ello, DataSet funciona como una entidad independiente. Se puede considerar el objeto DataSet como un conjunto de registros que siempre está desconectado y que no sabe nada sobre el origen y el destino de los datos que contiene. Dentro de un objeto DataSet, de la misma manera que dentro de una base de datos, hay tablas, columnas, relaciones, restricciones, vistas, etc. El objeto DataAdapter es el objeto que se conecta a la base de datos para llenar el objeto DataSet. A continuación, se vuelve a conectar a la base de datos para actualizar los datos de dicha base de datos a partir de las operaciones realizadas en los datos contenidos en el objeto DataSet. En el pasado, el procesamiento de datos se basaba principalmente en la conexión. Ahora, con el fin de proporcionar a las aplicaciones multinivel mayor eficacia, se está adoptando para el procesamiento de datos un enfoque basado en mensajes que manipulan fragmentos de información.
  • 13.  Utilizamos el Objeto SqlCommand solamente cuando necesitamos ejecutar un tipo de sentencia Sql a la base de datos.  Si deseamos ejecutar más de un tipo de sentencia Sql a la base de datos es recomendable utilizar SqlDataAdapter.  No podrás utilizar el Objeto SqlCommand cuando necesitas ejecutar más de un tipo de sentencia Sql o si trabajarás en escenarios desconectados. Recomendaciones Podemos decir que si solo necesitamos ejecutar un tipo de sentencia Sql a la base de datos hay que utilizar el Objeto SqlCommand. El Objeto SqlCommand utiliza tipos que pueden ser: Delete, Update, Insert o Select. Podemos concluir que si no necesitas trabajar en escenarios desconectados y si solo necesitas utilizar un comando a la vez, utiliza un SqlCommand, de lo contrario un SqlDataAdapter. Conclusiones
  • 14.  Abstraction (abstracción). Característica esencial de un objeto que lo diferencia de otros objetos.  SERVER (SERVIDOR): Un objeto que proporciona servicios que se utilizan por otros objetos. Los objetos que utilizan los servicios son clientes.  Abstract class (clase abstracta): Una clase abstracta actúa como una plantilla de otras clases. Normalmente se utiliza como la raíz de una jerarquía de clases.  Object (objeto): Combinación de datos y colección de operaciones que actúan sobre los datos. En c++, una instancia de una clase (un tipo objeto). Variable: Posición de almacenamiento que puede contener diferentes valores.  Void (C++): Un nombre de un tipo utilizado para indicar que una función no devuelve ningún valor, esto es, un procedimiento.  Void keyword (palabra reservada void): Palabra reservada que indica tipo desconocido o ningún tipo. Un procedimiento es una función que devuelve void. Glosario de términos