La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

CONEXIÓN A BASE DE DATOS

Presentaciones similares


Presentación del tema: "CONEXIÓN A BASE DE DATOS"— Transcripción de la presentación:

1 CONEXIÓN A BASE DE DATOS
Base de Datos MySQL

2 Capa Persistencia Teniendo en cuenta el diseño en 3 capas, utilizaremos una capa que se encargue únicamente de contener los métodos para modificar y consultar datos en la Base de Datos (a partir de ahora: BBDD) A esta capa se le puede llamar: Datos – Persistencia – Persistente. Optamos por la opción ‘Persistencia’ ya que hace referencia a la persistencia o permanencia de los datos independientemente de que la aplicación se cierre

3 Modelo en 3 capas. Visualización
INTERFZ (GUI) DOMINIO (Lógica) PERSISTENCIA

4 Métodos de clases en Persistencia
Los métodos que cada clase tendrá serán los siguientes: Alta (INSERT) Modificar (UPDATE) Eliminar (DELETE) Consultas (SELECT)

5 Métodos de clases en Persistencia
Para las consultas identificaremos 2 tipos: Consultas simples: Mostrar todos los datos de una tabla Traer un registro dado un código Consultas complejas - Filtro de datos: Dados una serie de parámetros, traer el o los datos que se ajusten a esos parámetros. Reportes. Alta probabilidad de consultar varias tablas (JOIN)

6 Driver MySQL Para poder conectarse a una BBDD es necesario una serie de métodos y funciones que ya se encuentran preestablecidos. Cada BBDD tiene métodos propios por lo tanto es necesario especificar con que BBDD trabajará nuestro sistema. Algunas librerías ya se encuentran incorporadas en VS, como por ejemplo las necesarios para conectarse con SQL Server u Oracle

7 Driver MySQL Pero para el caso de MySQL, estas librerías hay que incorporarlas. Una de las formas es utilizando un driver llamado MySql.Data.dll Este driver debemos ubicarlo en una carpeta dentro de los archivos de nuestro proyecto.

8 Driver MySQL El siguiente paso es agregar el driver como referencia de nuestro proyecto para poder utilizar sus librerías. Para esto seguir los pasos que se detallan a continuación.

9 Driver MySQL – Importar driver
En el Explorador de soluciones, clic derecho sobre nuestro proyecto y clic en la opción “Agregar referencia”.

10 Driver MySQL – Importar driver
En el cuadrod e diálogo que se muestra, seleccionar la pestaña “Examinar” Dirigirse al directorio donde copiamos el driver, seleccionarlo y clic en “Aceptar”.

11 Driver MySQL – Importar driver
Para comprobar que el driver se insertó correctamente, vamos a las propiedades de nuestro proyecto, y en las opciones de la izquierda clic en “Referencias”. En la lista se debe visualizar el drvier insertado.

12 Driver MySQL – Importar driver en clase Conexion
Para poder utilizar las librerías necesarios para conectarnos a la BBDD MySQL, es necesario importarla en la clase Conexion.

13 Clase Conexion Dentro de capa Persistencia.
Métodos principales y genéricos para acceder a la BBDD. Contiene la cadena de conexión: connection string Es una clase abstracta Todos sus métodos son protegidos: protected Control de Excepciones. Lanza la excepción a una capa superior.

14 Clase Conexion Propiedades y métodos
AbrirConexion(): Establece la conexión con la BBDD obteniendo los datos del string de conexión (Connection String) Ubicación del servidor con la BBDD. Utilizar localhost si la BBDD se encuentra en el mismo equipo. Nombre de usuario con acceso a la BBDD Contraseña del usuario anterior. Nombre de la BBDD de nuestro sistema

15 Clase Conexión Propiedades y métodos
CerrarConexion(): Cierra una conexión para liberar a la BBDD TraerDatos(CadenaConsulta): Ejecuta la consulta SQL (SELECT) pasada como parámetro. Devuelve un DataTable con los registros obtenidos.

16 Clase Conexión Propiedades y métodos
EjecutarSQL(sentencias): Ejecuta todas aquellas sentencias que impliquen una actualización en la BBDD. (INSERT – UPDATE- DELETE). Esta función está configurada para trabajar con transacciones. Devuelve un boolean indicando si la actualización tuvo éxito.

17 Clase Conexión. Excepciones
Cuando se produce una excepción, se lanza a una capa más arriba. Se muestra un mensaje de error propio de la clase conexión y el mensaje de error que devuelve MySQL (ex).

18 Clase persistente Para cada clase que representa un objeto en domino, se crea un clase persistente que contendrá los métodos necesarios para interactuar con la BBDD. (Esto no quita que pueda haber otras, ej. Reportes) La clase persistente debe heredar la clase Conexion.

19 Modificar datos en BBDD. INSERT
Se presentará como ejemplo un método para agregar datos a una BBDD. Se tiene la clase TipoProducto con las propiedades Codigo y Nombre. Se crea una clase persistente PTipoProducto con las características que se vieron anteriormente. Se crea el método AgregarTipoProducto que recibe un objeto TipoProducto.

20 Modificar datos en BBDD. INSERT
Todos los métodos de la clase Conexion deben invocarse dentro de un Try-Catch-Finally y la excepción debe lanzarse hacia la capa superior. En sqlString se crea la sentencia SQL necesaria para insertar datos. Los valores de los parámetros del objeto TipoProducto son concatenados al String de sqlString. Los atributos de tipo Varchar en BBDD deben encerrarse entre comillas simples. No confundir con las comillas dobles que son para encerrar String pero en código vb.net En BBDD Nombre es Varchar Parte del Try-Catch que permite ejecutar una sentencia independientemente si ocurre o no una Excepción.

21 Obtener datos de BBDD. Select (1)
En primer lugar se muestra un ejemplo que obtiene todos los registros de una tabla.

22 Obtener datos de BBDD. Select (2)
En este ejemplo se obtiene un registro según una condición.

23 Convertir un tipo de dato a otro
Como se vio anteriormente, los métodos que devuelven datos lo hacen a través de una objeto DataTable. Pero en ocasiones podemos necesitar un objeto en particular creado por el programador. como por ejemplo al buscar un Tipo de Producto, es necesario que el método devuelva un objeto TipoProducto. O el caso de traer varios registros y necesitar almacenar objetos dentro de un ArrayList. Por ejemplo traer todos los tipos de productos, pero almacenados dentro de un ArrayList (con objetos TipoProducto).

24 Obtener un registro y devolver un objeto
Reutilizar método que devuelve un DataTable y crear el objeto que se necesita para luego devolverlo. Esta tarea no corresponde a la clase persistente. Utilizar clase Controladora. Utiliza la función que devuelve un DataTable Valida que se haya obtenido un registro Se crear un nuevo objeto y se cargan sus propiedades con los valores obtenidos de BBDD En la propiedad Item, pasar como parámetro el nombre de la columna en BBDD

25 Obtener un registro y devolver varios objetos dentro de un ArrayList
Nuevamente se reutiliza el método que devuelve un DataTable con todos los resultados obtenidos. Y nuevamente es la clase Controladora que se encarga de esta tarea. Recorre todos los registros que trae la consulta realizada a BBDD Para CADA registro se crea un nuevo objeto Cada nuevo objeto se agrega al ArrayList

26 Mostrar error de una Excepción
Hasta el momento las excepciones de han controlado, pero en ninguna de las capas de dominio o persistencia se muestra al usuario un mensaje informando del error,. El error es lanzado (throw) hacia la capa superior, hasta llegar a la capa de presentación con las interfaces gráficas que son las encargadas de comunicarse con el usuario. Al llamar cualquiera de los métodos que interactúen con la BBDD, se debe realizar dentro de un Try-Catch. En este caso, como nos encontramos en la capa de presentación, en el Catch mostramos finalmente el mansaje de error que ocasionó la Excepción.

27 Mostrar error de una Excepción
Podemos sólo mostrar que se produjo un error. O también se puede anexar el error que devuelve la BBDD, se muestra en ex.


Descargar ppt "CONEXIÓN A BASE DE DATOS"

Presentaciones similares


Anuncios Google