MANUAL BD CON C#

Post on 04-Aug-2015

164 views 5 download

Transcript of MANUAL BD CON C#

UNIVERSIDAD DE CORDOBA

FACULTAD DE INGENIERIAS

PROGRAMA INGENIERIA DE SISTEMAS

CURSO: Electiva de profundización 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 implementación de una

solución tipo GUI en el IDE MonoDevelop para presentar la demostración

correspondiente en la manipulación de una base de datos a través 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 implementación del método encargado de la conexión

entre la aplicación y la base de datos que fue creada con el IDE Mysql.

OBJETIVO: Diseñar 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 System.data, ensamblado

System.Data.MySqlClient, clase MySqlConnectionStringBuilder, clase

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 inserción, edición, eliminación 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 través 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 librería MySql.Data.dll a través de

las referencias del proyecto que se está diseñando.

1.1. Clase MySqlConnectionStringBuilder

Esta es la clase que permite realizar la conexión a la base de datos,

esta clase dispone de los siguientes métodos.

Server: método que permite definir el servidor con el cual se piensa

acceder a la base de datos, el cual generalmente es localhost.

UserID: método que permite definir el nombre de usuario de la base

de datos a la cual se desea conectar, el cual es root generalmente.

Database: método a través del cual se permite definir el nombre de

la base de datos a la cual se quiere conectar.

Password: método que permite la definición de la contraseña

respectiva para poder establecer la conexión con la base de datos.

2. Presentación del ejemplo

Para el ejemplo práctico haremos el diseño y la implementación de las

clases requeridas para establecer la conexión 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 TConexión será la

encargada de establecer la conexión entre la interfaz y la base de datos.

La aplicación 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. Creación de la solución

Para desarrollar el programa de ejemplo de Bases de datos, crearemos una

nueva solución GTK#2.0 en MonoDevelop de la siguiente manera:

a) Archivo – nueva – solución

b) Seguidamente en la próxima ventana que nos aparecerá,

seleccionaremos el nodo C# y después escojamos la opción GTK#2.0,

daremos BD al nombre de nuestra solución y damos click en el botón

Forward.

c) En la siguiente ventana solo daremos click en el botón OK.

d) Y finalmente se nos creara la siguiente ventana

e) Ahora procedemos con la instalación de nuestro conector para .NET

para después agregarlo a nuestra solución. Este conector lo

descargamos de la página de MySql – opción descargas.

Para este caso el conector es la versión 5.2.7.

f) Luego de haber realizado la simple instalación del conector,

procedemos a agregarlo a nuestra solución de la siguiente manera.

1. Damos click derecho en Referencias y escojamos Editar referencias.

g) Luego seleccionamos la pestaña 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 raíz 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 continuación, damos click en OK.

Ahora añadimos una nueva clase a la cual llamaremos TConexión, a la cual

vamos a importarle los ensamblados System.Data y System.Data.MySqlClient.

Después 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 implementación sea la siguiente.

Ahora nos trasladamos a la clase MainWindows.cs y escojemos la

opción Diseñador, 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 diseñada de la siguiente manera.

Para editar el nombre de los labels, solo basta seleccionar el label y damos click a

la pestaña propiedades de la barra de herramientas, allí están 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 pestaña código fuente de la clase MainWindows y

agregamos las siguientes líneas de código mostradas a continuación.

Seguidamente creamos el método que crea las columnas en nuestro TreeView.

Construyamos el método 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 método que verifica que todos los campos estén llenos antes de

ingresarlos a la base de datos.

Ahora construyamos el método que permite agregar un nuevo registro a nuestra

base de datos.

Ahora hagamos un método que limpie cada una de las cajas de texto de la

ventana cada vez que sea necesario.

Construyamos el método que permite cargar la información 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 método que permita eliminar un registro de la base de datos,

utilizando el ID de la persona como parámetro. La caja de texto que captura el ID

tiene por nombre entry1.text.

Seguidamente nos aseguramos que el método Buscar quede implementado de la

siguiente manera como lo muestra la grafica siguiente. Este método será el

encargado de realizar una búsqueda de un registro en la base de datos a través

del nombre de la persona y mostrar en tiempo de ejecución todos los nombres que

coincidan con los parámetros de búsqueda.

Ahora vamos a construir el método que tiene como finalidad modificar cualquier

dato de un registro de la base de datos, para ello este método recibe como

parámetro cada uno los campos que conforman la información de un registro, tal y

como lo son el id, nombre, apellido, edad etc.

Este método 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 botón

cargar datos y finalmente realizamos los cambios deseados y pulsamos el botón

modificar.

Una vez tengamos construidos todos los métodos que se explicaron con

anterioridad, procedemos a agregar algunos de ellos al método MainWindow, el

cual es el encargado de construir la ventana. Nos aseguramos de agregar los

métodos CrearColumnas(), CargarDatos(), y además adicionamos una línea de

código que permita colocar el foco en la caja de texto nombre por cada ejecución

que se realice.

Ahora procedemos a crear los eventos para cada uno de los botones de la

ventana, para ello vamos a la pestaña propiedades de la barra de herramientas,

luego seleccionamos el botón y en la pestaña señales damos doble click sobre la

opción clicked.

Ahora se nos creará el evento para el botón agregar, al cual le agregamos las

siguientes líneas de código.

De igual forma creamos el evento para el botón Modificar y agregamos las líneas

de código siguientes.

Ahora vamos a digitar las siguientes líneas de código en el evento del botón

cargar datos.

Ahora procedamos con la implementación del evento para el botón eliminar.

Seguidamente vamos a crear el evento para la caja de texto que realiza la

búsqueda 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 opción salir.

Y en su evento respectivo agregamos lo siguiente.

Ahora construyamos el evento para la opción 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

diseño.

Finalmente vamos a mostrar nuestra aplicación 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-y-

mysql/

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-el-

conector-de-mysql-en.html