Realizado por Alonso Laguna para REPSOL YPF - Control Avanzado y Sistemas.
Puertollano - 2006
Programa de tutorías en el proyecto de la aplicación web de gestión de personal basada en ASP.NET.
----
PPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbal
REPSOL YPF - Tutorial ASP.NET y MS Visual Studio.NET 2003
1. Tutorial
Visual Studio.NET 2003
Y
ASP.NET
Realizado por: Alonso Laguna Megino
Control Avanzado y Sistemas
REPSOL YPF – Puertollano
2. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
Tutorial VS.net y ASP.net – Conceptos Básicos
Índice
1.- Entorno de Visual Studio.NET
1.1 - Interfaz del Programa.
1.2 - Vista Diseño.
1.3 - Vista Código.
1.4 - Propiedades de objetos y componentes.
1.5 - Editor de código.
2.- Programación en Visual Studio.NET
2.1 - Como crear un nuevo proyecto de Windows Forms.
2.2 - Elementos y Componentes de Windows Forms.
2.3 - Elementos de Datos para Visual Studio.NET.
2.4 - Variables locales, globales, públicas y estáticas.
2.5 - Depurar y compilar una aplicación. El generador de resultados.
2.6 – Implantación de Aplicaciones
3.- Programación con ASP.NET en Visual Studio.NET
3.1 - Como crear un nuevo proyecto de aplicación Web ASP.NET.
3.2 - La nueva vista diseño.
3.3 - Los nuevos componentes Web Forms y sus propiedades.
3.4 – Trabajo con Bases de Datos en ASP.NET
3.5 - El HTML en Web Forms.
4.- Tratamiento de Errores
-2-
3. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
Entorno de Visual Studio.NET 2003
1.1 /1.2 - Interfaz del Programa
Esta es la vista principal de Visual Studio.NET. Las principales secciones se dividen
en colores.
- Verde (parte central). Es la zona donde se trabaja
principalmente, se añaden objetos, se seleccionan, y en esta parte
también aparece la vista de código cuando se selecciona la pestaña
correspondiente.
- Rojo (parte izquierda). Herramientas de diseño. Aquí aparecen los
componentes de Windows Forms o Web Forms, los componentes de
Datos para Base de Datos, los de HTML…
- Azul (parte superior derecha). El explorador de soluciones
cumple la función de organizar todos los elementos que componen el
proyecto de forma anidada, en el explorador de soluciones se
incluyen desde formularios, a paginas aspx, estilos css,
configuraciones, iconos…
- Amarillo (parte inferior derecha). Es el cuadro de propiedades.
Automáticamente al seleccionar un elemento en la vista de diseño, el
cuadro de propiedades cambia automáticamente para ajustarse a las
propiedades del objeto.
- Negro (parte inferior izquierda). Cada una de estas pestañas
tiene una función. Por un lado nos encontramos la Lista de Tareas,
el uso que le puede dar el usuario a esta función es, como su propio
-3-
4. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
nombre indica, asignar sus propias tareas en un orden determinado,
y marcarlas o desmarcarlas según si han sido realizadas o estan
pendientes. Por otro lado, la pestaña “Resultados”, nos muestra los
procesos de compilación previos a la ejecución del programa, si hay
algún error en su compilación, en “Resultados” podremos ver que ha
fallado.
1.3 Vista Código
La imagen mostrada en pantalla es la forma de Visual Studio.NET que permite al
usuario introducir, eliminar o modificar código del proyecto. Las partes en azul y
en rojo de la parte superior de la imagen, tienen una función vital en la
programación con objetos.
La lista desplegable General (color rojo) muestra todos los objetos con los que
estamos trabajando, botones, cuadros de texto, datagrids… mientras que la azul
muestra los procedimientos que están disponibles para cada objeto seleccionado.
Pondremos un par de ejemplos.
-4-
5. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
Vemos que el objeto btnInsertar (botón) tiene los procedimientos que aparecen en
la lista desplegable de la izquierda, el mas común es Click, pero también están
disponibles el Command, el DataBinding…
Por otra parte, el objeto de Lista Deplegable “listdep” tiene otros procedimientos
disponibles, entre los que destaca por ejemplo el SelectedIndexChanged,
procedimiento que sirve para ejecutar código cuando cambia la selección
principal de la lista.
1.4 – Propiedades de Objetos y Componentes
Las propiedades de los objetos y de los componentes de datos son imprescindibles
para obtener los resultados deseados en nuestros proyectos con esta herramienta.
Cada elemento tiene unas propiedades distintas, pero hay algunas comunes entre
ellos que es necesario conocer.
-5-
6. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
Name (ID) -> En ASP.NET la
propiedad “Name” se llama “ID”. Esta
propiedad es el nombre del objeto en
codigo, en la imagen vemos arriba que
se llama “ctLocDep”
Text -> Es el texto del que dispondrá
un objeto, por ejemplo “Insertar”
Enabled -> Si el objeto esta activado o
desactivado, por ejemplo cuando un
cuadro de texto es de solo lectura, su
estado es Enabled = False
Visible -> Si el objeto es visible o no
Font -> Desplegando las opciones,
encontramos el tipo de letra, el tamaño,
las opciones de subrayado, negrita…
Por otra parte, los componentes de datos tienen otras opciones, no son objetos que
se vean a simple vista, pero si tienen algunas propiedades referentes a las
conexiones que veremos un poco más adelante.
1.5 - Editor de Código
El editor de código de VS.NET da ciertas facilidades al programador a la hora de
escribir código, en forma de buscar propiedades o crear procedimientos, lo vemos
mas claro en las siguientes imágenes.
En rojo vemos como al escribir el nombre de un objeto y añadirle “.” Al final, nos
sale automáticamente la lista de propiedades completas del objeto (cuadro azul). Al
ir navegando por las opciones, nos sale una ayuda (verde) que nos muestra
información sobre la propiedad seleccionada.
De esta forma, nos resulta mas fácil conocer y usar las propiedades de cada objeto,
y a su vez escribir el código de forma más rápida y sencilla.
Por otra parte, a la hora de crear procedimientos para un objeto (lo que hablamos
antes con esta imagen) nos resulta muy fácil, pues seleccionando el objeto y el
procedimiento que vamos a usar de las listas desplegables, el código nos genera el
procedimiento automáticamente.
-6-
7. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
Seleccionando los elementos “btnInsertar” y “Click” en las listas izquierda y derecha
respectivamente el generador de código nos genera esto automáticamente.
-7-
8. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
2. Programación en Visual Studio.NET
2.1 - Como crear un nuevo proyecto de Windows Forms
Para crear un nuevo proyecto de Windows Forms nos vamos a dirigir donde
muestra la siguiente imagen.
A continuación, en la siguiente ventana, elegiremos la opción “Aplicación para
Windows” el nombre de la aplicación (en este caso “Prueba del Tutorial”) y la
ubicación del proyecto.
Una vez pinchemos en aceptar, VS.NET nos llevará a nuestro conocido entorno de
diseño, donde podremos empezar a trabajar en diseño y código en el formulario por
defecto que se crea al iniciar un nuevo proyecto.
-8-
9. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
2.2 - Elementos y Componentes de Windows Forms
VS.NET cuenta con multitud de elementos para interactuar, cada uno con
propiedades exclusivas y funcionalidad distinta, en este apartado vamos a explicar
algunos de los mas usados en cualquier formulario.
Para ello tenemos el ANEXO I – Creación de Aplicaciones Windows incluido en
este documento, donde encontraremos información de Formularios, Controles y sus
propiedades más habituales.
2.3 – Elementos de Datos
Para tratar con bases de datos, VS.NET cuenta con una serie de objetos que hacen
más fácil la conexión con bases de datos que si lo hiciéramos por código.
Podemos calificarlos en varios tipos.
Conexiones Oledbconnection Odcbconnection SQLconnection OracleConnection
Las conexiones son el primer paso para trabajar con bases de datos, al incluir una
en un formulario, debemos indicarle la propiedad “Connection String”, que
mediante asistente, nos permitirá conectarnos a la base de datos deseada, ya sea
Oracle, Access… para ello usaremos el tipo de conexión que mas convenga.
-9-
10. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
Adaptadores Oledbadapter Odbcadapter SQLadapter OracleAdapter
Los adaptadores dependen de una conexión, al incluir uno aparecerá un asistente
para crearnos las consultas SQL que necesitemos usar. Un adaptador esta
compuesto de un comando SELECT, y otros INSERT, DELETE y UPDATE que pueden
ser modificados a nuestro gusto para manipular bases de datos.
Comandos Oledbcommand Odbcommand SQLcommand Oraclecommand
Los comandos, son objetos que albergan una consulta SQL asociada a una
conexión. Pueden ser de SELECT, INSERT, DELETE o UPDATE, su uso más comun
es el de interactuar con otro objeto y suelen llevar información distinta al de un
adaptador.
Conjunto de Datos (Dataset)
Los conjuntos de datos se crean una vez se haya creado un Adaptador. Consiste en
un objeto que alberga información de una tabla, directamente relacionada con un
Adaptador. Por ejemplo, para usar un DataGrid es indispensable el uso de un
Conjunto de Datos para llenarlo.
Todos estos componentes dependen de una conexión, a excepción de el Conjunto
de Datos que además necesita de un Adaptador.
2.4 Variables
Como en cualquier entorno de programación, las variables cumplen un papel clave
en el desarrollo de aplicaciones, en este manual repasaremos por encima los
tipos de variables y como definirlas, en especial el DataReader.
Dando por hecho que conocemos los tipos STRING, NUMBER, INTEGER… la
secuencia para definirlas es así
Public HOLA As Integer
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Dim ADIOS As String
- 10 -
11. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
- “HOLA” es una variable publica de tipo entero, que podremos usar en todo el
código, su nombre es irrepetible para ninguna otra.
- “ADIOS” es una variable privada de tipo cadena, que solo se puede usar en el
procedimiento donde se encuentra (Page_Load).
Maticemos que las variables públicas no pueden usarse entre distintos formularios,
a no ser que las alojemos en un módulo independiente en el proyecto.
Para crear un nuevo módulo, debemos fijarnos en la imagen.
Clic derecho en el nombre del proyecto -> Agregar -> Agregar Componente
- 11 -
12. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
Una vez acabemos de crear el modulo, aparecerá una pestaña con su nombre en la
parte superior de la vista diseño o código, donde podremos añadir las instrucciones
que queramos que cumpla.
Por otro lado, hay una variable especial en el uso de bases de datos que nos
resultará muy útil, las variables DataReader (OledbdataReader, OdcbdataReader,
SQLDataReader y OracleDataReader). Estas variables, con la ayuda de un bucle y
de un comando con instrucciones en SQL funcionan como una lista de registros.
Para poner un ejemplo, veremos como funciona un OracleDataReader.
Imaginemos un comando del tipo OracleCommand con la instrucción “SELECT
DEPT_NO FROM DEPART”. Esta consulta generará una serie de registros, por lo que
no podríamos almacenarla en una variable normal.
cnxPral = OracleConnection
drDeps = OracleDataReader
SelDepsNum = OracleCommand (SELECT DEPT_NO FROM DEPART)
cnxPral.Open()
Dim drDeps As OracleDataReader
If Not IsPostBack Then
drDeps = SelDepsNum.ExecuteReader
While drDeps.Read
listDep.Items.Add(drDeps.Item("DEPT_NO"))
End While
drDeps.Close()
End If
cnxPral.Close()
Línea a línea esto funcionaria de la siguiente manera:
- Abrimos la conexión
- Definimos la variable DataReader
- Si la condición IsPostBack no es cierta (explicaremos mas adelante el
IsPostBack)
- Asignamos al DataReader los registros producidos por el OracleCommand.
- Mientras el Lector siga leyendo
- 12 -
13. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
- Almacenamos en un objeto de lista el item “DEPT_NO” que tiene actualmente
el DataReader
- Finalizamos Mientras
- Cerramos el lector (para volver a usarlo si es necesario)
- Cerramos condicional
- Cerramos conexión.
De esta forma, un objeto de lista (tipo DropDownList) almacenaría todos los registros
producidos por la sentencia “SELECT DEPT_NO FROM DEPART”
2.5 - Depurar y compilar una aplicación.
Una vez finalizado nuestro trabajo en diseño y código, estamos listos para probar si
nuestra aplicación funciona correctamente y como nosotros deseamos.
Para ello, pulsaremos en este botón:
Entonces, en la parte inferior del programa nos aparecerá la ventana del Generador
de Resultados, donde nos ira mostrando el proceso de la depuración, entonces
pueden pasar dos cosas.
a) - El programa se ejecuta correctamente: Lo que no quiere decir exactamente
que funcione correctamente.
b) - El programa no se ejecuta correctamente: Nos aparecerá un mensaje
advirtiéndonos este hecho, y nos preguntará si queremos continuar, en caso
de responder “Sí” se intentara omitir la linea de código que ha dado el error,
en caso de responder “No” la depuración se para para mostrarnos la línea en
la que nuestro proyecto ha fallado.
2.6 - Implantación de Aplicaciones
En la mayoría de los casos, el ultimo paso en nuestro proyecto será crear un
archivo instalador con el mismo para distribuirlo o compartirlo en un archivo
.exe / .msi.
Con este fin se adjunta a este documento el ANEXO II – Implantación de
Aplicaciones, donde paso a paso aprenderemos a realizar esta función.
- 13 -
14. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
Programación con ASP.NET en VS.NET
3.1 - Como crear un nuevo proyecto de aplicación web
ASP.NET
De forma muy parecida a como creabamos un nuevo proyecto de Windows Forms,
el primer paso es crear el proyecto.
Una vez en la ventana de nuevo proyecto, elegiremos la opción de Aplicación Web
ASP.NET. Y el nombre del proyecto será el mismo que el del directorio donde lo
asignemos, en este caso “ASP-Prueba-Tutorial”. De ahora en adelante, podremos
visualizarlos en la ubicación “http://localhost/NombreProyecto” , y el directorio
donde se encuentran en local es “HD/Inetpub/wwwroot/NombreProyecto”, a
diferencia de los proyectos de Windows Forms que se guardaban en la carpeta “Mis
Proyectos de Visual Studio” en “Mis Documentos” (por defecto). Aún asi en esta
carpeta, se seguirá creando el archivo de solución pero no los archivos de
contenido. Estos estarán en la ubicación antes mencionada.
- 14 -
15. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
3.2 – La nueva vista diseño.
A primera vista, la diferencia que más nos llamara la atención con respecto a
Windows Forms será la vista diseño.
En verde vemos los Elementos y Componentes de Web Forms. Han aparecido
algunos nuevos para Web Forms y otros que utilizabamos en Windows Forms han
desaparecido o han sido renombrados.
En Rojo vemos la pestaña donde podremos alternar entre la vista de diseño, y la
vista del código HTML de la pagina web (no confundir con la vista del código VB).
En Azul vemos como casi todas las propiedades han sido renombradas.
La propiedad que veremos ahora será la propiedad pageLayout, que nos marcará
mucho a la hora de diseñar nuestra aplicación. Esta propiedad la ponemos poner a
dos valores.
- GridLayout: Diseño en cuadricula por coordenadas “x” e “y”, de
igual forma que en Windows Forms.
- FlowLayout: Diseño de flujo, como si se tratase de un documento
de texto.
- 15 -
16. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
3.3 - Los nuevos componentes Web Forms y sus
propiedades.
ASP.NET maneja los objetos de la misma forma que cuando trabajábamos con los
Windows Forms, por ello, el uso de cada objeto es idéntico al que se explicaba en el
ANEXO I – Creación de Aplicaciones en Windows, con la única diferencia del
renombre de sus propiedades.
El cambio mas significativo se encuentra en la importante propiedad “Name”, que
ahora se llama “(ID)” (solo en objetos de Web Forms, no en elementos de bases de
datos). Esta propiedad como ya sabemos, sirve para asignar a un objeto un nombre
con el que referirnos a él en código.
Por otra parte, cuando empecemos a practicar con aplicaciones en ASP.NET nos
daremos cuenta de que otras propiedades han cambiado la forma en las que se
usaban, por ejemplo el tamaño de la fuente, que en esta ocasión trabaja con los
valores estándar de la Web “X-Small,Small,Medium..” en vez de con valores
numéricos ajustables.
3.4 – Trabajo con Bases de Datos en ASP.NET
Ya conocemos los elementos de Bases de Datos, en este tutorial nos centraremos
en los objetos para conexiones con bases de datos ORACLE.
Vamos a ir viendo paso a paso como establecer una conexión con la tabla DEPART
de una base de datos de prueba.
1º - Añadimos el objeto “OracleConnection” a nuestro formulario siempre en
modo GridLayout. Cambiamos su propiedad “Name” a “cnxDepart” y
pulsaremos en el asistente de la propiedad “Connection String” y elegimos crear
una nueva conexión. Nos aparecerá otra ventana.
Imagen - 1 Imagen - 2
- 16 -
17. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
Escribiremos el nombre de la BD y el login con el que acceder, probaremos la
conexión y pulsaremos en Aceptar.
NOTA: Si la BD tuviera algún tipo de acceso especial aparte de la del login de
usuario, tendríamos que ir a la pestaña “Todas” de la Imagen – 2 y modificar sus
propiedades correspondientes.
En principio no debería haber ningún problema. Ahora tenemos creada nuestra
conexión, el siguiente paso será aprender a sacarle provecho.
Todo absolutamente lo que hagamos a partir de ahora depende directa o
indirectamente de este objeto que hemos creado, para comprobar que la conexión
realmente funciona haremos la siguiente prueba:
En el procedimiento Page_Load abriremos y cerraremos la conexión, para acceder
al Page_Load solo hay que hacer doble clic sobre el formulario.
Tras escribir estas dos simples líneas de código que nos indicaran si todo ha ido
bien o no, compilaremos el proyecto haciendo clic en
Si nos aparece una página Web totalmente en blanco, todo correcto. Los errores de
compilación en ASP.NET se muestran en la página Web que nos aparece al
compilar, indicándonos el código del error y la parte donde se ha producido.
Acabamos de conectar con una Base de Datos Oracle en ASP.NET, ahora
aprenderemos a manipularla desde un formulario Web Forms, que es el verdadero
fin de todo esto.
Vamos a crear el siguiente formulario en vista de diseño:
- 17 -
18. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
Tenemos los siguientes elementos:
- Label: Nº Departamento
- Label: Nombre
- Label: Localidad
- Textbox: txtNumDep
- Textbox: txtNomDep
- Textbox: txtLocDep
- Button: btnInsertar
- Button: btnModificar
- Button:btnEliminar
La idea es bien simple, vamos a trabajar con la tabla “DEPART”, compuesta por los
campos DEPT_NO, DNOMBRE y LOC, donde DEPT_NO es clave primaria auto-
numérica.
* El botón INSERTAR insertará un registro completo en la tabla
* El botón MODIFICAR permitirá actualizar los campos DNOMBRE y LOC pero no el
campo DEPT_NO
* El botón ELIMINAR permitirá eliminar un registro con solo introducir el campo
DEPT_NO
Para este fin vamos a usar un Adaptador, recordamos que un Adaptador es un
objeto de datos que depende de una conexión, y que a su vez de forma interna
contiene un comando SELECT, un comando INSERT, otro UPDATE y un DELETE.
Al igual que hicimos con la conexión, insertaremos de igual forma el objeto
OracleDataAdapter. Justamente al insertarlo nos aparecerá un asistente para
hacernos las cosas mas fáciles.
- 18 -
19. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
Nos da la bienvenida al asistente Elegimos la conexión para el adaptador (en
este caso la que hemos creado)
Le indicaremos que usaremos instrucciones Cargaremos las instrucciones SQL, en este
SQL para recoger los datos del adaptador caso nos interesa cargar en el adaptador los
datos con los que vamos a trabajar… “SELECT
DEPT_NO, DNOMBRE, LOC FROM DEPART”
Si la sentencia SQL introducida es correcta, el asistente nos mostrará que ha generado
correctamente las sentencias SELECT, INSERT, UPDATE Y DELETE del adaptador.
Una vez finalizado el asistente, nos iremos a las propiedades del adaptador, y lo
configuraremos a nuestro gusto.
- 19 -
20. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
Como ya hemos dicho, cada adaptador
consta de 4 subcomandos, SELECT, INSERT,
UPDATE y DELETE. Que podemos modificar
de forma semi-independiente.
Cada comando consta de estas partes
principales:
Name: Nombre del Comando (cmdSelAd)
Connection: La conexión de la que depende
CommandText: Instrucción SQL que
alberga, automáticamente generada por el
asistente.
NOTA: No es recomendable modificar la propiedad CommandText del
SelectCommand de un Adaptador, pues los otros tres comandos dependen de la
secuencia que alberga este.
Vamos a ver un ejemplo de cómo modificar las sentencias, y como adaptarla a los
resultados que queremos, lo vamos a hacer con el DeleteCommand.
Accederemos a las propiedades del Adaptador, y en la propiedad “Name” del
DeleteCommand le daremos un nombre intuitivo, para que nos sea más facil
trabajar con el cuando escribamos el código, para seguir con la nomenclatura usada
en este tutorial, lo llamaremos “cmdDelAd”.
Después pulsaremos en el botón para iniciar el generador de consultas en la propiedad
CommandText
Este es el generador de consultas de Visual Studio.NET
- 20 -
21. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
Verde: Haciendo clic derecho
en el área aparecerán
opciones, tales como agregar
tabla para hacer uniones,
quitar tablas…
Azul: Tabla agregada,
podemos agregar o quitar
campos.
Amarillo: Propiedades de los
campos agregados.
Rojo: Consulta que contiene
el comando.
Nos centraremos en la parte de la consulta, la marcada en color rojo. Ampliada
vemos que la secuencia introducida por defecto es la siguiente:
Se nos ha generado una consulta SQL DELETE por defecto, que en principio no esta
mal, pero que es bastante complicada para lo que queremos hacer. La siguiente
consulta hace exactamente lo mismo con mucho menos código:
DELETE FROM DEPART WHERE DEPT_NO = :DEPT_NO;
¿Por que marcamos en rojo :DEPT_NO?. Bien sencillo, a diferencia de la
programación con Visual Basic convencional, en ASP.NET lo marcado en rojo
significa que es una variable donde nosotros albergaremos el parámetro que la
sentencia SQL va a usar. Si por ejemplo :DEPT_NO fuese igual a 5, la sentencia
borraría de la tabla DEPART el registro cuyo DEPT_NO fuese igual a 5.
Ahora veremos el ejemplo aplicado a este pequeño proyecto que estamos
desarrollando.
Vamos a empezar a programar el evento del botón “Eliminar”, para ello si hacemos
doble clic en el objeto, el generador de código nos creara automáticamente el
procedimiento doble clic para ese objeto.
1 Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e
2 As System.EventArgs) Handles btnEliminar.Click
3 Try
4 With cmdDelAd.Parameters
5 .Clear()
6 .Add(":DEPT_NO", Request.Form("ctNumDep"))
7 End With
8 cnxDepart.Open()
9 cmdDelAd.ExecuteNonQuery()
10 cnxDepart.Close()
11 ctNumDep.Text = ""
12 ctNomDep.Text = ""
- 21 -
22. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
13 ctLocDep.Text = ""
14 etError.Text = "Registro Eliminado Correctamente"
15 Catch
16 etError.Text = "Imposible de Eliminar. Error"
17 etError2.Text = "[ Compruebe que exista el Nº de
18 Departamento ]"
19 End Try
20 End Sub
Pueden habernos asustado estas 20 líneas de código, pero realmente es muy fácil,
todo se resume en comprender tres pasos.
1) Llamar al comando
2) Introducirle los parámetros que la sentencia SQL nos requiere.
3) Ejecutar el comando
Vamos a explicar paso a paso estas líneas de código para entender mejor el
procedimiento clic del botón eliminar.
- 22 -
23. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
Línea Función
1 Declaración del procedimiento “clic” del objeto btnEliminar (creado
automáticamente por el generador)
2 “”
3 Inicio del bloque Try-Catch. Mas información en ANEXO III –
Tratamiento de Errores
4 Inicio del bloque with con el comando DELETE del Adaptador (cmdDelAd)
5 Usamos la propiedad del comando .Clear para limpiar los posibles
parámetros que pueda contener antes de introducirle ningún parámetro.
6 Esta propiedad del comando cmdDelAd sirve para pasarle el/los
parámetros que la sentencia necesita, en este caso solo es uno, por eso
solo hay una linea con .Add. Explicaremos la sintaxis de esta linea.
.Add(":DEPT_NO", Request.Form("ctNumDep"))
En rojo vemos el nombre de la variable de la que antes hablábamos, la
que le poníamos en la consulta del comando, entrecomillada.
En Azul le indicaremos de donde va a coger el valor que le pasaremos
por parámetro, para ello en ASP.NET usamos la función
“REQUEST.FORM” y el nombre del campo en el formulario donde lo
cojera, en este caso ctNumDep, que es el que contiene el numero del
departamento.
7 End With, puesto que no hay que trabajar mas con el comando
cmdDelAd.
8 Abrimos la conexión cnxDepart
9 Ejecutamos el comando con la orden ExecuteNonQuery
10 Cerramos la conexión cnxDepart
11 Limpiamos los cuadros de texto (Textbox)
12 “”
13 “”
14 Mostramos en una etiqueta un mensaje diciendo que todo ha ido bien
15 Inicio bloque Catch (si no funciona, se ejecutará esto). Mas información
en ANEXO III – Tratamiento de Errores
16 Mostramos en una etiqueta un mensaje con el posible error.
17 “”
18 “”
19 Fin del bloque Try-Catch
20 Fin del procedimiento (generado por el programa junto a la línea 1 y 2)
Esto de una forma u otra, lo vamos a usar muchísimo trabajando con bases de
datos, pues es lo básico para manipularlas. Vamos a hacer una pequeña práctica
con esto.
- 23 -
24. Tutorial Visual Studio.NET 2003 y ASP.NET Control Avanzado y Sistemas
PRACTICA nº 1 – ASP.NET
En esta sección del tutorial, hemos visto como conectar y manipular una base de
datos, concretamente la tabla DEPART. El fin de este ejercicio consiste en
programar los botones Insertar y Modificar del formulario para que hagan sus
respectivas funciones de forma correcta. Tened en cuenta que la forma es idéntica,
con la única diferencia de la sentencia SQL del comando INSERT y UPDATE del
adaptador.
Cosas a tener en cuenta:
- Retocar sentencia SQL de los comandos INSERT y UPDATE para
verificar que cumplen con nuestro cometido.
- Es opcional el controlar errores (inserciones con claves duplicadas,
registros que no existen…)
3.5 – El HTML en ASP.NET
Pese a que ASP.NET es un lenguaje de programación basado en la comunicación
entre el usuario y el servidor, no debemos olvidar que al fin y al cabo sigue siendo
una página Web, por lo que podemos aprovechar también las ventajas que puede
ofrecernos. Para ello podemos ir a la vista de HTML, donde veremos las referencias
a los objetos que hemos creado en ASP.NET, y el código clásico de HTML, que
podemos modificar para retocar nuestro formulario.
Tratamiento de Errores
En el ANEXO III – Tratamiento de Errores adjuntado a este tutorial,
encontraremos la explicación a los múltiples tipos de errores, aprenderemos a
prevenirlos, veremos la estructura “Try… Catch… Finally” y usaremos la clase
Exception.
Estos conocimientos vendrán muy bien a la hora de controlar los errores en
nuestros proyectos de Visual Studio.NET.
- 24 -