Sei sulla pagina 1di 11

Escuela de Informtica y Telecomunicaciones

Programacin de Consultas SQL ADO.Net


LDP3501-2011 / DUOC-AV

Actividades:
Conexin a Datos con ADO.Net...................................................................................... 1
Conexin a la Base de Datos ............................................................................................... 1
Obtencin de los datos ....................................................................................................... 2
Controles de Acceso a Datos con ADO.Net .................................................................... 3
Conectarse a la Base de Datos ............................................................................................ 3
Presentando los datos en la pgina con GridView ............................................................. 5
Mejorando la presentacin de la interfaz .......................................................................... 6
Mantencin de la informacion ........................................................................................... 7
Filtrar la informacin presentada ....................................................................................... 9
Escuela de Informtica y Telecomunicaciones

Conexin a Datos con ADO.Net

En esta actividad haremos uso de las clases de ADO.Net, para conectarnos y recuperar informacin desde
una Base de Datos SQL Server 2008. El objetivo es familiarizarnos con la mecnica de conexin y obtencin
de informacin, para luego volcar la informacin recuperada en la interfaz de usuario del sitio Web ASP.Net.

Base de Datos:
Para poder utilizar la Base de Datos enviada con esta gua (Empresas), esta se debe agregar a la instancia de
SQL Server en ejecucin, para ello debemos realizar los siguientes pasos:

a) Cargar el Script de creacin del Modelo Modelo BD.sql, en un editor de Consultas de SQL Server.

b) Validar el script cargado antes de la ejecucin.

c) Asegrese de haber seleccionado la base de datos master, en la lista de bases de datos disponibles.

d) Ejecute el script de creacin de la base de datos.

e) Actualice el esquema de bases de datos del servidor y verifique que se ha creado la base de datos
Empresas. Esta contiene 2 tablas: Empresa y Empleado.

Elementos Iniciales:

a) Cree una nueva solucin Solucion Acceso a Datos

b) Agregue un nuevo sitio web a la solucin con el nombre Web Site Datos.

c) Los controles se agregarn a la pgina creada automticamente (Default.aspx)

Conexin a la Base de Datos

a) En la pgina Default.aspx, agregue una propiedad para la conexin a la base de datos con una instancia
de la clase SqlConnection, para mantener en la sesin, debe usar los espacios de nombres System.Data
y System.Data.SqlClient.

b) En el evento Load de la pgina, genere la instancia de la conexin solo la primera vez que se carga la
pgina, utilice el string de conexin siguiente con los ajustes al servidor SQL respectivo:

c) "Data Source=nombre_servidor;Initial Catalog=Empresas;Integrated Security=SSPI"

d) En la pgina agregue un botn btnProbar, el cual deber abrir y cerrar la conexin a la base de datos en
el evento Click(), mediante los mtodos Open() y Close(). Con esto probaremos si la conexin est
funcionando bien. Notifique el resultado en una etiqueta de la pgina.

Pgina 1
Escuela de Informtica y Telecomunicaciones

e) Ejecute la aplicacin y pruebe que la conexin est funcionando.

Obtencin de los datos

a) En la pgina agregue un botn btnLeerEmpresa y un Listbox lstEmpresas. En el evento Click() del botn
deber recuperar los valores de la columna RazonSocial y poblar el Listbox. Para ello realice cada uno de
los siguientes pasos en el evento del botn.

b) Crear un objeto SqlCommand desde la conexin con el mtodo CreateCommand(). En la propiedad


CommandText asigne el valor de la consulta SQL Select RazonSocial from Empresa, y en la propiedad
CommandType indique que se trata de un texto de script (CommandText).

c) Cree un objeto SqlDataAdapter con el constructor sobrecargado que acepta un objeto SqlCommand
pasando en ese parmetro el comando creado.

d) Cree un objeto DataSet donde se recibirn los registros resultantes de la consulta.

e) Para llenar el DataSet se debe:

1. Abrir la conexin.
2. Llenar el DataSet con el mtodo Fill() del SqlDataAdapter.
3. Cerra la conexin

f) Antes de poblar el ListBox asegrese que se han retornado datos consultando por el nmero de tablas
en la propiedad Tables del DataSet y posteriormente por la coleccin Rows de la primera tabla de la
coleccin (si existe).

g) Si se retornaron registros, asocie la tabla del DataSet como fuente de datos del ListBox en su propiedad
DataSource. Con la propiedad DataTextField del ListBox configure el campo que desea mostrar en la
lista, para el caso ser RazonSocial y llame al mtodo DataBind(), para que se carguen los registros.

h) Todo el proceso de conexin y carga debe ser controlado dentro de un bloque try..catch

i) Notifique el xito (o no) de la ejecucin en la etiqueta de la pgina.

j) Ejecute la aplicacin y verifique los resultados esperados.

Pgina 2
Escuela de Informtica y Telecomunicaciones

Controles de Acceso a Datos con ADO.Net

En este ejercicio haremos uso de SqlDataSource, que nos permitir conectar a la base de datos de Empresas,
que hemos cargado en la actividad anterior; y GridView, que nos permitir mostrar la informacin
recuperada en la pgina Web.

Elementos iniciales:
En la solucin de acceso a datos, agregue una nueva pgina Controles.aspx

Conectarse a la Base de Datos

a) En la pgina creada agregue un control SqlDataSource desde la barra de herramientas en el grupo Datos
(Data), al cual daremos el nombre EmpleadoDS.

b) Ahora configuraremos el acceso a datos mediante el control. Para ello accedemos al men del control
donde nos indica Configurar Fuente de Datos (Configure Data Source).

c) Como no se ha creado ninguna a conexin reutilizable a la Base de Datos, debemos crear una. Haga clic
en Nueva Conexin (New Connection). Seleccionamos como fuente Microsoft SQL Server y
mantenemos el proveedor que nos da el asistente .Net Framework Data Provider for SQL Server,
como se muestra en la siguiente figura:

d) Damos clic en Continuar, y en el cuadro de dilogo de la conexin, buscamos o ingresamos el nombre


de nuestro servidor de SQL y seleccionamos la base de datos Empresa que hemos creado, para
verificar que todo est correcto, damos clic al botn que nos permite probar la conexin:

Pgina 3
Escuela de Informtica y Telecomunicaciones

e) Habiendo terminado la configuracin de nuestra conexin, esta se agrega a la lista de conexiones y


podemos continuar.

f) El siguiente dilogo nos solicita el nombre con el cual se almacenar, este string de conexin en el
archivo de configuracin.

g) La ventana siguiente nos presenta un listado de las tablas de nuestra base de datos, de la cual
seleccionamos la tabla Empleado, y de la lista de campos marcamos la casilla que nos indica *, esto es
el equivalente a hacer SELECT * FROM EMPLEADO.

h) Damos clic en siguiente y se nos presenta una nueva ventana para poder probar la consulta generada, si
realizamos el test, se nos presentar el resultado de las columnas y las filas recuperadas desde la tabla
Empleado, como se muestra en la figura:

Pgina 4
Escuela de Informtica y Telecomunicaciones

i) Damos clic en Terminar (Finish) y con ello ya tenemos la conexin y recuperacin de los datos que
presentaremos en la interfaz.

j) Puede verificar en el archivo web.config, que se ha agregado una entrada para el string de conexin a
nuestra base de datos.

Presentando los datos en la pgina con GridView


a) Arrastre un control GridView a la pgina, asignndole el nombre gvEmpleados y le damos un formato a
nuestro gusto con la opcin AutoFormat del control.

b) En la opcin Data Source, seleccionaremos EmpleadoDS, que es el Data Source que hemos creado
anteriormente.

c) Con estos pasos ya tenemos nuestro Gridview listo para presentar los datos en la interfaz. Ejecute la
aplicacin y obtendr un resultado como el que se muestra en la siguiente figura:

Pgina 5
Escuela de Informtica y Telecomunicaciones

Mejorando la presentacin de la interfaz


El control GridView, nos permite hacer una serie de ajustes para mejorar la presentacin realizada, a
continuacin realizaremos cambios para poder paginar y ordenar los datos presentados.

a) De retorno en el diseo, seleccionamos el GridView y marcamos la opcin Enable Pagging de las tareas
o cambiamos la propiedad AllowPaging a True, que activa la paginacin de los resultados e indicamos en
la propiedad PageSize el nmero de filas que deseamos presentar en cada ocasin (por defecto 10).

b) Otra caracterstica que utilizaremos es el ordenamiento, para ello marcamos la opcin Enable Sorting de
las tareas o cambiamos la propiedad AllowSorting a True, esto activa el ordenamiento en la interfaz,
notaremos que los nombres de las columnas ahora se encuentran subrayados.

c) Nuestra aplicacin tendr ahora un aspecto similar al mostrado en la figura:

Pgina 6
Escuela de Informtica y Telecomunicaciones

Mantencin de la informacion

La presentacin de la informacin requiere de las tareas de mantencin general: creacin, edicin,


actualizacin y borrado los datos presentados. A continuacin incorporaremos estas capacidades a nuestra
interfaz.

a) Dentro de las tareas del GridView, seleccionaremos Configurar Fuente de Datos (Configure Data
Source), damos clic en siguiente y luego usamos el botn Avanzado (Advanced) en la nueva ventana
marcamos la opcin para generar las sentencias de mantencin (como muestra la figura), damos Ok y
finalizamos la configuracin.

b) El paso anterior ha generado las sentencias de mantencin en el GridView, lo podemos verificar


accediendo al fuente (Source) de la pgina, donde identificaremos las siguientes lneas de cdigo:

DeleteCommand="DELETE FROM [Empleado] WHERE [Rut] = @Rut"

InsertCommand="INSERT INTO [Empleado] ([Rut], [Dv], [Nombres], [Apellidos],


[Empresa]) VALUES (@Rut, @Dv, @Nombres, @Apellidos, @Empresa)"

SelectCommand="SELECT * FROM [Empleado]"

UpdateCommand="UPDATE [Empleado] SET [Dv] = @Dv, [Nombres] = @Nombres,


[Apellidos] = @Apellidos, [Empresa] = @Empresa WHERE [Rut] = @Rut"

c) Para habilitar estas opciones debemos marcar las opciones Permitir Editar (Enable Editing), Permitir
Eliminar (Enable Deleting) y Permitir Seleccionar (Enable Selection) en las tareas del GridView.

d) Al ejecutar la aplicacin deberemos obtener una interfaz como se muestra en la siguiente figura:

Pgina 7
Escuela de Informtica y Telecomunicaciones

e) Para que el control tenga la referencia adecuada al registro que se desea intervenir, es requerido indicar
la Llave Primaria (PK) del registro. Esto se define en la propiedad DataKeyNames mediante el botn
ellipse (). Aqu debe seleccionar el campo Rut y agregarlo como indica la figura:

Pgina 8
Escuela de Informtica y Telecomunicaciones

Filtrar la informacin presentada

Para poder realzar un filtro de la informacin presentada deberemos hacer algunas implementaciones, ya
que la plataforma no provee de una opcin directa como lo hemos visto hasta el momento. La idea es filtrar
la lista de empleados en base a la empresa a la cual pertenecen. Se agregar una lista desplegable
(DropDownList) con el listado de empresas, para que el usuario seleccione cual desea ver.

a) Primero agregaremos un nuevo SQLDataSource, para obtener la informacin de la tabla Empresa, cuyo
nombre ser EmpresaDS. Este control utilizar la misma conexin creada anteriormente, recupere solo
los campos Rut y RazonSocial de la tabla.

b) A continuacin, agregamos desde la barra de herramientas un control DropDownList, cuyo nombre ser
ddlEmpresa, desde las tareas del control marcamos la opcin para que se genere un PostBack de
manera automtica y seleccionaremos la fuente de datos indicando EmpresaDS, para el despliegue
usaremos el campo RazonSocial y para el valor el campo Rut. La siguiente figura ejemplifica este paso:

c) Esta accin permitir seleccionar la empresa que deseamos filtrar desde la lista desplegable.

d) Ahora debemos indicar al GridView que filtre la data en base a la seleccin de la lista, para ello
accedemos a la tarea de Configuracin del Data Source (Configure Data Source), damos clic en
Siguiente.

e) En la siguiente ventana damos clic al botn WHERE, dentro de la pgina de configuracin de la clausula
Where indicaremos: En Columna el valor Empresa, que es el filtro deseado en la tabla Empleado; el
Operador ser =; En fuente o Source indicaremos que se trata de un Control, para poder indicar que
es la lista creada; Se activar entonces el rea de propiedades del parmetro, all seleccionamos
ddlEmpresa. Esta configuracin estar acorde a la figura que se muestra a continuacin:

Pgina 9
Escuela de Informtica y Telecomunicaciones

f) Damos clic en Agregar (Add) y se incorporar el filtro creado a la consulta de datos. Damos Ok y
finalizamos con el asistente, opcionalmente podemos probar la consulta indicando un valor para el
filtro.

g) Podemos ahora ejecutar nuevamente la aplicacin y ver los efectos de los cambios realizados.

Pgina 10

Potrebbero piacerti anche