You are on page 1of 27

UNIVERSIDAD DE CORDOBA FACULTAD DE INGENIERIAS PROGRAMA INGENIERIA DE SISTEMAS CURSO: Electiva de profundizacin I (desarrollo de software libre) TEMA: Bases

de Datos en C# DESCRIPCION: En este documento se hace un estudio de las bases de datos pasando por los ensamblados y clases que son requeridos en el lenguaje C# para el tratamiento de las bases de datos, hasta llegar a la implementacin de una solucin tipo GUI en el IDE MonoDevelop para presentar la demostracin correspondiente en la manipulacin de una base de datos a travs de una interfaz implementada bajo este lenguaje. Para el ejemplo que se va a desarrollar se declararan 2 clases, de las cuales una de ellas se encargara de la implementacin del mtodo encargado de la conexin entre la aplicacin y la base de datos que fue creada con el IDE Mysql. OBJETIVO: Disear e implementar en el lenguaje C# las clases necesarias para poder interactuar con una base de datos, construyendo el programa de ejemplo en el IDE MonoDevelop para los sistemas Windows. PALABRAS CLAVES: Ensamblado clase System.data, ensamblado clase

System.Data.MySqlClient,

MySqlConnectionStringBuilder,

MySqlDataReader, clase MySqlConnection, clase MySqlCommand.

1. BASES DE DATOS EN C# El lenguaje C# ofrece un soporte completo para el tratamiento de las bases de datos, en la cual se pueden realizar las diferentes operaciones tal y como son la insercin, edicin, eliminacin de datos en una tabla dentro de una base de datos. Algunas de las clases necesarias para trabajar con bases de datos son proporcionadas por el ensamblado System.Data el cual debe ser agregado a travs de las referencias, puesto que no viene importado por defecto. A su vez si se pretende utilizar a MySql como motor de base de datos, es necesario contar con el conector para .NET correspondiente y a su vez agregar la librera MySql.Data.dll a travs de las referencias del proyecto que se est diseando.

1.1.

Clase MySqlConnectionStringBuilder Esta es la clase que permite realizar la conexin a la base de datos, esta clase dispone de los siguientes mtodos. Server: mtodo que permite definir el servidor con el cual se piensa acceder a la base de datos, el cual generalmente es localhost. UserID: mtodo que permite definir el nombre de usuario de la base de datos a la cual se desea conectar, el cual es root generalmente. Database: mtodo a travs del cual se permite definir el nombre de la base de datos a la cual se quiere conectar. Password: mtodo que permite la definicin de la contrasea respectiva para poder establecer la conexin con la base de datos.

2. Presentacin del ejemplo

Para el ejemplo prctico haremos el diseo y la implementacin de las clases requeridas para establecer la conexin entre la interfaz y la base de datos, y la clase que contendr cada uno de los atributos estipulados en el formulario y a su vez en nuestra base de datos. La clase TConexin ser la encargada de establecer la conexin entre la interfaz y la base de datos. La aplicacin ser de tipo GUI con GTK# y se empleara un TreeView para almacenar cada uno de los datos contenidos en las tablas de la base de datos.

3. Creacin de la solucin

Para desarrollar el programa de ejemplo de Bases de datos, crearemos una nueva solucin GTK#2.0 en MonoDevelop de la siguiente manera:

a) Archivo nueva solucin

b) Seguidamente

en

la

prxima

ventana

que

nos

aparecer,

seleccionaremos el nodo C# y despus escojamos la opcin GTK#2.0, daremos BD al nombre de nuestra solucin y damos click en el botn Forward.

c) En la siguiente ventana solo daremos click en el botn OK.

d) Y finalmente se nos creara la siguiente ventana

e) Ahora procedemos con la instalacin de nuestro conector para .NET para despus agregarlo a nuestra solucin. Este conector lo

descargamos de la pgina de MySql opcin descargas. Para este caso el conector es la versin 5.2.7.

f) Luego de haber realizado la simple instalacin del conector, procedemos a agregarlo a nuestra solucin de la siguiente manera. 1. Damos click derecho en Referencias y escojamos Editar referencias.

g) Luego seleccionamos la pestaa Ensamblado.Net.

h) vamos a ir a la ruta donde se instalo el conector mysql.Data , generalmente se instala dentro del directorio donde est instalado Mysql en el directorio raz Archivos de programa. Ahora escojamos la carpeta MySQL Connector Net y click al subdirectorio Binaries y abrimos la carpeta .Net 2.0 y seleccionamos Mysql.Data.dll y click en Add.

i) Si todo se hizo de forma correcta, deber aparecernos el campo de Referencia tal y como se muestra a continuacin, damos click en OK.

Ahora aadimos una nueva clase a la cual llamaremos TConexin, a la cual vamos a importarle los ensamblados System.Data y System.Data.MySqlClient. Despus nos aseguramos de que la clase quede implementada de la siguiente manera.

Ahora agregamos una nueva clase llamada TCampos, la cual debemos asegurarnos que la implementacin sea la siguiente.

Ahora nos trasladamos a la clase MainWindows.cs y escojemos la opcin Diseador, la cual est en la parte inferior de la ventana.

Procedemos ahora a arrastrar al formulario el contenedor Fixed.

Luego de haber arrastrado el contenedor, nos debe quedar el formulario de la siguiente manera.

Ahora arrastramos al formulario, 4 Button, 6 Entry, 7 An label, 1 Menu Bar, 1 Tree View, 1 Combo Box y hacemos los ajustes necesarios para que nos quede la ventana diseada de la siguiente manera.

Para editar el nombre de los labels, solo basta seleccionar el label y damos click a la pestaa propiedades de la barra de herramientas, all estn las diferentes propiedades que podemos cambiarle a las etiquetas, as mismo modifican los Entry, Menu Bar, combo Box y el TreeView. Finalmente damos click a la pestaa cdigo fuente de la clase MainWindows y agregamos las siguientes lneas de cdigo mostradas a continuacin.

Seguidamente creamos el mtodo que crea las columnas en nuestro TreeView.

Construyamos el mtodo encargado de leer cada uno de los campos de la tabla personas de nuestra base de datos y los muestra en nuestro TreeView.

Construyamos un mtodo que verifica que todos los campos estn llenos antes de ingresarlos a la base de datos.

Ahora construyamos el mtodo que permite agregar un nuevo registro a nuestra base de datos.

Ahora hagamos un mtodo que limpie cada una de las cajas de texto de la ventana cada vez que sea necesario.

Construyamos el mtodo que permite cargar la informacin de un campo de la BD en cada caja de texto de la ventana, para ser modificado el dato que sea necesario, para ello usamos el ID de la persona que queremos editarle datos.

Construyamos el mtodo que permita eliminar un registro de la base de datos, utilizando el ID de la persona como parmetro. La caja de texto que captura el ID tiene por nombre entry1.text.

Seguidamente nos aseguramos que el mtodo Buscar quede implementado de la siguiente manera como lo muestra la grafica siguiente. Este mtodo ser el encargado de realizar una bsqueda de un registro en la base de datos a travs del nombre de la persona y mostrar en tiempo de ejecucin todos los nombres que coincidan con los parmetros de bsqueda.

Ahora vamos a construir el mtodo que tiene como finalidad modificar cualquier dato de un registro de la base de datos, para ello este mtodo recibe como parmetro cada uno los campos que conforman la informacin de un registro, tal y como lo son el id, nombre, apellido, edad etc. Este mtodo realiza las modificaciones correspondientes con el id de la persona, para ello basta ingresar el id de la persona a modificar datos, luego click al botn cargar datos y finalmente realizamos los cambios deseados y pulsamos el botn modificar.

Una vez tengamos construidos todos los mtodos que se explicaron con anterioridad, procedemos a agregar algunos de ellos al mtodo MainWindow, el cual es el encargado de construir la ventana. Nos aseguramos de agregar los mtodos CrearColumnas(), CargarDatos(), y adems adicionamos una lnea de cdigo que permita colocar el foco en la caja de texto nombre por cada ejecucin que se realice.

Ahora procedemos a crear los eventos para cada uno de los botones de la ventana, para ello vamos a la pestaa propiedades de la barra de herramientas, luego seleccionamos el botn y en la pestaa seales damos doble click sobre la opcin clicked.

Ahora se nos crear el evento para el botn agregar, al cual le agregamos las siguientes lneas de cdigo.

De igual forma creamos el evento para el botn Modificar y agregamos las lneas de cdigo siguientes.

Ahora vamos a digitar las siguientes lneas de cdigo en el evento del botn cargar datos.

Ahora procedamos con la implementacin del evento para el botn eliminar.

Seguidamente vamos a crear el evento para la caja de texto que realiza la bsqueda de un registro con su nombre.

En el evento para la caja de texto, nos aseguramos que quede de la siguiente manera.

Y por ultimo vamos a crear el evento para las opciones Salir y Limpiar del Men Archivo. Para ello vamos a iniciar con el evento de la opcin salir.

Y en su evento respectivo agregamos lo siguiente.

Ahora construyamos el evento para la opcin Limpiar del men Archivo.

Ahora vamos a mostrar nuestra base de datos llamada clientes, la cual contiene a la tabla personas.

Ahora mostremos la estructura de la tabla personas, con el fin de conocer su diseo.

Finalmente vamos a mostrar nuestra aplicacin ya en funcionamiento.

REFERENCIAS BIBLIOGRAFICAS

http://undiati.com/2011/09/24/trabajando-c-mysql-mono-monodevelop/ http://www.eslomas.com/2008/04/experimentos -con-mono-monodevelop-ymysql/ http://luauf.com/2008/06/08/mono-con-mysql/ http://mittaus.wordpress.com/2011/04/02/conectar-monodevelop-con-mysql/ http://apuntes-para-no-olvidar.blogspot.com/2011/04/trabajar-con-elconector-de-mysql-en.html

You might also like