“ABC de Clientes” en ASP.NET & MySQL [Parte 1/3]

Buenas noches!, en esta entrada intentaremos hacer un pequeño ABC de clientes, en el cual podremos dar altas y bajas de clientes a una base de datos! (en mysql), poder modificarlos y ademas si se ha realizado algun cambio en los clientes, estos seran guardados para saber quien hizo el cambio (dia,hora etc). (al ir haciendo el post, decidi dividirlo en partes )In love

Lo que vamos a hacer es una base de datos en MySQL WorkBench y  veremos como crear Disparadores (triggers) para que cada vez que se modifiquen los clientes se realize alguna accion (en este caso guardar hora y fecha, etc).

El siguiente video muestra lo que haremos en estos 3 posts

MySQL WorkBench 5.2

 

Vamos a trabajar con MySQL workbench 5.2, y Visual Studio con C#.

Para empezar abriremos MySQL workbench para crear la base de datos utilizando diagramas EER.

image

Despues de dar clic en Create New EER Model daremos clic en Add Diagram para crear un diagrama EER y apartir de este crearemos la Base de datos.

La base de datos que haremos sera relativamente sencilla, pero esta contendra Triggers.

Hay que mirar a la izquierda, donde dice catalog tree, para cambiarle el nombre a nuestra base de datos, yo le puse “postabc”, solo le damos clic derecho y en edit.

image

image

Daremos clic en el icono que se encuentra resaltado, para crear una nueva tabla, damos clic en el area de trabajo y aparecera como en la imagen, daremos doble clic a la nueva tabla que se creo para poder modificarla, alli podremos agregar columnas, cambiar nombre de la tabla, etc.

 

 

 

 

 

 

 

 

 

 

 

En la pestaña de Columns agregaremos las siguientes columnas:

imageHagamos Auto Incremento las claves primarias de todas las tablas

NOTA: codigo_postal debe de ser INT tambien

Asi como le hemos hecho con esta tabla, agregaremos 2 mas con los siguientes campos:

image

A estas 2 tablas que hemos creado, a sus llaves primarias les pondremos que sean de “Auto incremento” esto se hace activando la casilla AI al momento de agregar las columnas.

No crearemos relaciones entre las tablas ya que en este caso no seria muy necesario, simplemente vamos a tener que poner en idUsuario el id del que se modifico.

Ahora vamos a crear la base de datos apartir de este diagrama.

Para eso daremos clic en DataBase-> Forward Engineer y nos aparecera una ventana ( esto ya lo hemos hecho en otros posts)

Daremos next en la primera ventana, en la segunda tendremos seleccionadas las 3 tablas que creamos, daremos next y nos saldra toda el Script SQL que craera nuestras tablas y damos next y nos aparecera la ventana de conexion, daremos next y next y probablemente pedira nuestro password de root y ya despues daremos close.

De esta manera ya tenemos nuestra base de datos hecha, ahora crearemos los triggers que llenaran las 2 tablas mas que creamos.

Para eso nos iremos a la pantalla inicial de mysql workbench (home) y daremos clic en “Open Connection to start Querying”

image

Nos pedira alguna conexion en especial para conectarse, no vamos a escojer ni una en particular y solo damos OK

En nuestro editor SQL crearemos el primer trigger que actuara en la tabla “usuarios_modificaciones”, este trigger ocurrira cuando se valla a hacer algun Update a la tabla Usuarios

image

De esta manera estamos creando un disparador en la tabla usuarios que tiene de nombre “usuarios_modificaciones”, y este disparador se ejecutara antes de realizar cualquier UPDATE en la tabla usuarios, lo que se hace en el disparador es un INSERT a la tabla usuarios_modificaciones, en este se guardara el nombre anterior, el nuevo y algunos datos adicionales, como el usuario que realizo la modificacion ( usuario de mysql) y asi como la fecha.

Podemos probar este disparador, podemos agregar un registro a la tabla usuarios, y luego modificarla y veremos como se agregara un registro a la tabla de usuarios_modificaciones.

Ahora crearemos otro disparador pero ahora cuando algun usuario se quiera borrar, solo guardaremos el usuario que se dio de baja.

(recuerden que en estas 2 tablas, la clave primaria es auto incremento)

image

Y asi ya tendremos nuestros 2 triggers creados, la razon que se usa la palabra OLD es para agarrar el valor de ese campo de la tabla usuarios, en un DELETE no existe el valor NEW ya que no se realiza ninguna modificacion como en un UPDATE, o sea no se cambia de valor, simplemente se borra.

Ahora ya tenemos nuestra base de datos lista ( almenos eso parece) y seguiremos ahora por crear nuestra pagina web en visual studio 2010.

Ahora en Visual Studio 2010

 

Crearemos un nuevo sitio web VACIO  ASP.NET  con C#

Ahora tendremos que descargar estos archivos, ya que haremos nuestra pagina un poco mas atractiva ( fue el primer free template que vi en la internet)

Aqui encontraremos un archivo .txt y una carpeta style, la carpeta style la copiamos en donde esta nuestro sitio web, la podemos arrastrar a visual studio o la copiamos como de costumbre.

Para usar el archivo .txt tendremos que realizar lo siguiente:

Vamos a gregar un nuevo item, este sera un MasterPage, para esto damos clic derecho en nuestro explorador de soluciones y damos en add new item.

creamos una master page que se llamara MasterPage.master (si, muy redundante), damos ok y ok.

Ahora que ya tenemos esta masterPage, vamos a copiar y reemplazar todo lo que hay en el master page por lo que hay en el archivo .txt que ya se han descargado, pero menos la primer linea (<%@ Master Language="C#"… ), esta no la vamos a borrar de nuestro master page.

Despues de copiar y pegar ( y haber copiado la carpeta styles a donde esta nuestro sitio web) tendremos lo siguiente:

image

Les resalto la carpeta style, ya que en ella se encuentran los archivos necesarios para darle este look a la pagina.

Mas delante modificaremos el codigo html de esta master page, para ir agregando mas items al menu de la pagina, pero por mientras, primero crearemos la pagina de inicio, muy simple, solo que muestre un mensaje de bienvenido o algo por el estilo.

Para esto daremos clic derecho a nuestro explorador de soluciones y agregaremos un nuevo item, este sera un web form.

image

Es importante lo que esta resaltado, tenemos que decirle que usaremos una master page.

damos clic en add, escogemos la master page y ya tendremos una pagina, que en esta mostraremos solo un mensaje de bienvenida.

En la pagina que se acaba de crear, automaticamente nos mandara a la vista de codigo, aqui dentro de las etiquetas asp:content pondremos todo el contenido de esta pagina y agregaremos lo siguiente:

image

Guardamos y podremos correr nuestra pagina y lucira de la siguiente manera

image

 

Ahora vendra lo mas interesante, al igual que la pagina default que creamos, crearemos una que se llame AltasBajas.aspx, usando la misma master page, acontinuacion les pondre un video como de 8 min, de como estaremos agregando componentes en asp, veanlo y seguiremos despues con la programacion:

 

Lo que falta a hacer, es ver en la master page, la parte donde dice “otra pagina”, alli le pondremos “Registrar/Dar Baja Usuario”

image

Aqui ya estamos dando el vinculo de la nueva pagina que creamos ademas de la de default por si no la tenia, como les comente, despues de a ver seguido el video, ahora tendremos esta vista en la pagina AltasBajas.aspx

image

Ahora, daremos paso a dar de alta a un cliente a nuestra base de datos, para eso primero tenemos que agregar un SQL DataSource

image

Y damos clic para que salga la lista desplegable y asi proceder a su configuracion (configure Data Source).

imageDaremos clic en “New Conne..”.

Aqui nos pedira informacion para la conexion a nuestro servidor de base de datos, en este caso a MySQL (debemos de tener instalado el conector .net, se puede descargar en la pagina oficial de mysql, no estoy seguro, tal vez ya viene por default en VS2010)

imageAl poner la direccion y los datos de usuario, en la lista de database ya saldran las bases de datos disponibles, daremos OK para finalizar.

Y en la ventana anterior, daremos clic en Next. y Next y llegaremos a “Configure de Select Statement”,  y daremos clic como se muestra en la imagen

imageDaremos clic a Next para continuar.

image

Nos iremos a la pestaña INSERT y agregamos la siguiente sentencia.

Este componente nos exige una sentencia SELECT asi que en la pestaña SELECt solo agregamos un simple

SELECT * FROM usuarios

 

Y damos clic a NEXT y luego FINISH.

Los arrobas, nos ayuda a hacer nuestra consulta con parametros, acontinuacion, vamos a establecer el valor de cada parametro de nuestros TextBox, es importante ponerle un nombre en especifico a cada TextBox (por ejemplo TxtNombre), y asi le vamos a cambiar el nombre a cada uno, ponemos Txt + nombre del campo (otro ejemplo TxtApellidoP). Esto es necesario ademas de por una buena practica de programacion, tener bien identificado cada TextBox.

Despues de renombrar todos nuestros TextBox, seleccionaremos nuestro SQL data source y en sus propiedades, hay que encontrar la uqe se llama “Ïnsert query”

image

(por si no se alcanza a ver)

image

Lo que vamos a hacer aqui, es primero darle clic en “Add Parameter” y luego en orden ponemos los parametros que agregamos en nuestra sentencia INSERT, agregamos por ejemplo en Name “@email” y luego en Parameter source: escogemos que sera desde un control de ASP, y en ControlID especificamos el ID de nuestro control correspondiente, en este caso txtEmail.

Si tenemos todos estos datos correctamente, daremos OK.

Ahora, el boton que habiamos agregado, crearemos un evento dando doble clic sobre el, y escribiremos el siguiente codigo:

image

De esta manera, si rellenamos todos los campos de nuestro formulario y damos clic en el boton, se estara ejecutando la sentencia INSERT con la informacion de todos los campos que hemos agregado, es importante recalcar, que en las base de datos, la llave primaria de todas las tablas debe de ser de AutoIncremento, de no ser asi, podemos agregarle eso con Alter Table dando clic derecho a la tabla que queramos agregar el auto incremento desde mySQL workBench, y en columnas en la llave primaria debemos de selecionar el checkBox que dice “AI”.

Como ven realizar la conexion a MySQL y realizar un Insert a la Base de Datos fue relativamente sencillo, pero les reecomendaria que todo esto supieran hacerlo sin el componente SQL DataSource, ya que en ciertas ocaciones es obligatoriamente hacer cosas similares sin tener que usar este componente

Anuncios

12 comentarios sobre ““ABC de Clientes” en ASP.NET & MySQL [Parte 1/3]

  1. Hijole esto estas mas explicado no que tanto rollos en otros que eh visto ,, ahora faltaria menu en forma de icono como estilo quicklaunc lado izquierdo..

  2. Es muy valiosa la información de tu pagina para quienes estamos estudiando y no sabemos que hacer ni como comenzar el trabajo, gracias por compartir tus conocimientos con nosotros
    fijate que yo necesito me audes para realizar altas, bajas y modificaciones en asp.NET con sql server
    att. Flor de María

  3. Excelente como siempre!!!! Aprovechando la ocasión, será que podrías poner un ejemplo de un trigger (en clientes esta bien) , que cuando se intente agregar uno nuevo y que ya esta en la base de datos, controlado por su razon social, se dispare y no permita guardar en la base de datos.
    Gracias!!!!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s