Sie sind auf Seite 1von 18

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

PROGRAMACIÓN APLICADA

MANUAL DE CONEXIÓN A BASES EN DATOS DE MySQL

DANIEL TORRES HERNÁNDEZ


SAMUEL O. ESCOBAR JAIMES

 ¿Cómo se puede generar una conexión?

La respuesta a esta pregunta es bastante sencilla: independientemente de si se quiere


trabajar con Java o con C# se hace mediante una clase. Para lograr nuestro objetivo
necesitaremos tener instalados previamente el motor de bases de datos de MySQL, un
gestor de bases de datos, Visual Studio y tener descargada la librería “MySQL.Data.dll”.

Las herramientas que se utilizaron aquí son:


Para el gestor de bases de datos, MySQL Workbench 6.1; Para el motor de bases
de datos, MySQL server 5.6. Estas se pueden descargar por separado o mediante
el community installer en la página de MySQL, así mismo como la librería, son
herramientas gratuitas (previo registro en Oracle) de Oracle. La versión para .NET
es la de Visual Studio 2010 o superior.

Para lograr la conexión realizaremos un ejemplo de una aplicación ASP .NET en tres
capas: Persistencia, Lógica, Presentación. Las porciones de código presentadas a lo largo
del manual se encuentran en imágenes con el fin de obligar a todo aquel que quiera
aprender a hacer la conexión a hacerla paso a paso y todo por sí mismo(a), no copiando y
pegando.

Para empezar vamos a utilizar la base de datos (database) o el esquema


(schema, a fin de cuentas son lo mismo con database) creado previamente con el
nombre de ‘académica’.

 Creando la capas de presentación y lógica

Vamos a “Archivo → Nuevo → Proyecto…”, en el panel izquierdo, seleccionar “Visual C#


→ Web → Aplicación web vacía de ASP .NET”; en este ejemplo cambiamos el nombre de
la Solución a ‘Tres capas’, y el de la aplicación a ‘presentación’, luego le dan aceptar.
En el explorador de soluciones, hacen clic derecho en el nombre de la aplicación,
“Agregar → Nuevo elemento → Web Forms” cambiamos el nombre a “Form1” y le dan
aceptar.

Después dan clic derecho en la solución, “Agregar → Nuevo proyecto → Biblioteca de


clases”; cambiamos el nombre por “Lógica” y le dan aceptar.

De modo que el explorador de soluciones hasta este punto debería verse así:

La clase que se creó automáticamente en la librería será nuestra clase de conexión,


convenientemente le llamaremos “ConexiónMySQL”.

Copiamos y pegamos la librería en la ruta “…Tres capas\Lógica\bin” en la carpeta “bin”


(los puntos suspensivos se deben a que pueden estar en cualquier carpeta que el usuario
haya especificado en el momento de la creación de la solución).
La explicación por la cual debemos utilizar una librería externa (MySQL.Data.dll) es
porque .NET no posee las herramientas necesarias para manipular bases de datos en
MySQL. Damos clic derecho en “Lógica” y en el menú desplegable hacemos clic en
“Agregar referencia”.

En la ventana se selecciona la pestaña “examinar”, buscamos la librería en donde la


guardamos y damos aceptar.
El explorador de soluciones debería verse de la siguiente manera, con la librería entre las
referencias de la biblioteca de clases “Lógica”.

Repetimos el proceso anterior pero agregando una referencia a la biblioteca de clases


‘Lógica’ para poder utilizar cualquiera de las clases que se creen en dicha biblioteca
dentro de la capa de ‘Presentación’.
 Codificando la capa Lógica

Vamos a la clase ‘ConexiónMySQL’, y empezamos a escribir los métodos que nos


permitirán ejecutar las cuatro operaciones básicas ya mencionadas.

Primero escribimos el uso de tres librerías dentro de la clase: ‘System.Data’, ‘MySql.Data’


y ‘MySql.Data.MySqlClient’.

Dentro de esta escribiremos la cadena de caracteres más importantes de todo el proceso


y es la cadena de conexión:
private string CadenaDeConexion = "server=**; uid=**; pwd=**;port=**;database=**";
server: es el nombre del servidor o dirección I.P. de este; uid: es el nombre de usuario;
pwd: es la contraseña de usuario; port: es el puerto de conexión; database: es el nombre
de la B.D. o esquema.

Por lo general al crear una conexión desde el gestor se especifica el nombre del servidor,
de lo contrario, independientemente del nombre de la conexión (se pueden tener muchas
conexiones con distintos nombres pero los mismos datos de conexión), los datos por
defecto serán: el nombre de servidor será localhost, o en su defecto, su dirección I.P. será
127.0.0.1 (que de igual manera es la dirección I.P. del localhost), el nombre de usuario
será ‘root’, la contraseña siempre la especifica el usuario, y la base de datos es el
esquema que vayamos a utilizar, en este ejemplo como lo habíamos mencionado
anteriormente el esquema tiene por nombre ‘académica’.

Creamos variables string y las encapsulamos (clic derecho en la variable → Refactorizar


→ Encapsular campo, damos dos veces aceptar; recordemos que para obtenerlas o
establecerlas donde se instancien se deben utilizar métodos para mantener la integridad
de los datos); SentenciaSQL captará las instrucciones que se quieren hacer con la B.D. y
mensaje retornará un mensaje de éxito o error en la ejecución de instrucciones.
Repetimos el proceso de encapsulado para la otra variable y debería verse de la siguiente
manera:
Creamos dos variables que están netamente relacionadas con MySQL que son los tipos
MySqlConnection (abrir o cerrar la conexión) y MySqlTransaction (especificar el tipo de
transacción), y les dimos los siguientes nombres:

Después creamos un método constructor de esta clase quién será el encargado de


asignar la cadena de conexión a la variable de conexión.

Dado que la operación de Consultar, únicamente nos permite visualizar los datos
almacenados, esta instrucción llevará un método aparte para ejecutarse:
Contrario de lo que sucede con el anterior método, el método Ejecutar hará las tareas
concernientes a Insertar, Actualizar o Eliminar los datos.

A partir de este punto se crea una clase para cada una de las entidades (o tablas) dentro
de la base de datos, para este caso serían:
- asignatura.cs
- carga_docente.cs
- docente.cs
- estado.cs
- estudiante.cs
- notas.cs
- programa.cs
- tipo_id.cs
Daremos el ejemplo para esto únicamente con asignatura.cs, entonces damos clic
derecho en lógica, agregar clase.

En asignatura.cs, añadimos el uso de la librería System.Data. Luego escribimos una


variable del tipo que se necesite por cada uno de los campos de la tabla y encapsulamos
cada variable:

Creamos los métodos para cada operación de la base de datos en esta tabla como se ve
a continuación:
 Codificando la capa de presentación

Vamos a Form1.aspx, y allí pegamos uno de los códigos desarrollados previamente en


HTML y CSS, para el ejemplo escogimos los relacionados con la página de la
Universidad.
Preferiblemente creamos una carpeta en ‘Presentación’ con el nombre ‘css’ y allí
pegamos la hoja de estilos. Vamos a la parte superior del explorador de soluciones, en el
botón que nos dirá ‘Mostrar todos los archivos’ damos clic, y luego agregamos la carpeta
o sólo el archivo según el caso.
Repetimos este proceso para colocar una imagen en el banner.
Eventualmente, al tener copiado nuestro código HTML y CSS, se deben hacer
modificaciones para que surta efecto el código en ASP.
Por ejemplo, en CSS ya no será necesario agregar las etiquetas <style> para que el
archivo sea reconocido como hoja de estilos, ni tampoco será necesario invocarlas de la
misma manera en el código HTML.
La edición en el código HTML consiste en agregar una línea al comienzo que señale que
se trabajará con ASP (aunque se genera automáticamente al crear el webform), y si
dentro de un <div> teníamos un formulario HTML, insertamos primeramente un <form>
para que ahora podamos construir un formulario ASP, borramos los campos o “input” y
vamos arrastrando controles desde el cuadro de herramientas que hagan las mismas
funciones que estábamos utilizando con los input.

Una manera eficiente de utilizar un sólo código HTML para cada entidad de la base de
datos sería utilizando pestañas dentro de la misma página web, pero debido a que no
existe un control similar al ControlTab de C# en ASP, debemos simular este
comportamiento utilizando un ‘Menu’ y un ‘MultiView’ (al cual debemos insertar ‘View’
sencillos) y haciendo una función dentro del evento que controla el ‘Menu’.

Para el ejemplo colocamos todos los TextBox y Button dentro de cada View para que se
vean independientes.
En el evento que controla al ‘Menu’ escribimos el siguiente segmento de código, que es
para que al dar clic en alguna de las opciones de las “pestañas” se muestre un View.

Y el resultado visual es el siguiente:


Vamos a la clase Form1.aspx.cs, escribimos el uso de las bibliotecas de clases ‘Lógica’ y
‘System.Data’:

Antes del método Page_Load instanciamos la clase asignatura.cs y dentro de este


método, hacemos que se carguen las variables de esa clase con valores nulos.

Otra de las funciones que no podemos utilizar en aplicaciones web son los MessageBox,
debido a que estos son exclusivos de las aplicaciones de escritorio, entonces para ello
dentro de las funciones de los botones se muestran algunos Scripts de cómo mostrar
mensajes emergentes.
Y listo ya podemos correr nuestra aplicación, recuerden que antes de cualquier cosa
debemos tener activo IIS o instalado Apache en nuestro computador para que se ejecuten
las aplicaciones WEB.

Das könnte Ihnen auch gefallen