Practica 11: Conexión de Java con Bases de datos Access



Documentos relacionados
Introducción a JDBC - Base de datos con Java

ARTE I BASE DE DATOS EN JAVA

Bases de Datos Introducción a la Conectividad de

Base de Datos JDBC. Unidad: 1 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

Desarrollo de Servicios Web con JBuilder

Manual de NetBeans y XAMPP

UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO

Operación de Microsoft Word

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

Acceso a BD desde Java. JDBC

Internet Information Server

CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa

- Power Builder - Conexión ODBC DataWindows

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

Las propiedades de la clase en java es el equivalente a las variables globales en lenguajes estructurados como el C.

Programación Orientada a Objetos II. La Plataforma JDBC

Acceso a BDs en Java: JDBC

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

%& %)& '$!%*+ $, %%%&$ %%

Cómo acceder a Google Drive? Tiene más funcionalidades una cuenta de Google?

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

U.E JUAN DE VELASCO CREAR DATOS EN SQL

Como Resolver Problemas con la Conexión de una Base de Datos

Universidad Don Bosco. Materia: Programación Orientada a Objetos Contenido: Modificadores de Acceso y JDBC

Programación Gambas 3 Prof: Mileti, P. Acceso a base de datos SQLite desde Gambas 3.

Ejercicios - Persistencia en Android: ficheros y SQLite

Versatils. Apéndice. ODBC Orígenes de datos. ODBC Orígenes de datos.

Combinar correspondencia (I)

MANUAL DE AYUDA MODULO TALLAS Y COLORES

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010

Guía N 1: Fundamentos básicos(i)

Guía de Apoyo Project Web Access. (Jefe de Proyectos)

La ventana de Microsoft Excel

Acceso a base de datos SQLite desde Gambas

Sitios remotos. Configurar un Sitio Remoto

BrowserSQL 4 versión 2 - TUTORIAL

Guía de Apoyo Project Professional

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

INTRANET: MANUAL DE INSTALACIÓN

Pantalla ENW URL LOGIN

TUTORIAL PRÁCTICO DE BASES DE DATOS EN ACCESS CREAR UNA AGENDA

Concesionario de coches

TABLAS Y GRÁFICOS DINÁMICOS

Microsoft Access proporciona dos métodos para crear una Base de datos.

INSTALACIÓN. Datafox

Contenido. cursos.cl / Teléfono:

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Unidad Didáctica 12. La publicación

RELACIÓN DE PRÁCTICAS DEL TEMA 2

BROWSERSQL VERSIÓN 3.1 TUTORIAL

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Uso de Visual C++ Pre-Practica No. 3

TÉCNICAS DE GESTIÓN ADMINISTRATIVA PARA PEQUEÑAS EMPRESAS

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS

MANUAL DE USUARIO - SECURE CLIENT - INTERNACIONAL

Que es Velneo vdataclient V7?

Curso de PHP con MySQL Gratis

LEY CONTRA EL DELITO DE LAVADO DE DINERO O ACTIVOS. CIRCULAR CNBS No. XXXX. CAPTURADOR Lavado de Activos v5.0

Técnicas de Programación

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

Redes de área local: Aplicaciones y servicios WINDOWS

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

Sistema de Facturación de Ventas WhitePaper Enero de 2007

Manual del Alumno de la plataforma de e-learning.

Conectar a unidad de red

vbnmqwertyuiopasdfghjklzxcvbnmrty uiopasdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghjklzxc

Manual de Instalación SICO MANUAL DE INSTALACION SICO - SOFTWARE DE GESTION BASE DE DATOS SQL SERVER

WINDOWS : TERMINAL SERVER

Dossier de prácticas

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

Traslado de Copias y Presentación de Escritos. Manual de Usuario V.3.1

Una vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón.

ÍNDICE INDICE. MANUAL WinPoET. Manual de formularios en Manual WinPoET

Programa de Ayuda EMCS Instalación Versión SQL Server Versión Marzo 2010

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

Tema: CREACIÓN DE CONSULTAS E INFORMES EN UNA BASE DE DATOS CON MICROSOFT ACCESS 2013.

Activación de un Escritorio Remoto

Base de datos en Excel

1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir?

Capítulo 9. Archivos de sintaxis

Tema: Crear, Modificar y Abrir Conexiones ODBC. Generación de Cubos OLAP Revisado: 2006

REGISTRAR LOS SITIOS WEB MÁS INTERESANTES

Manual de rol gestor de GAV para moodle 2.5

Configuracion Escritorio Remoto Windows 2003

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER

Modulo 1 El lenguaje Java

El Escritorio. En el escritorio tenemos iconos que permiten abrir el programa correspondiente.

Tablas dinámicas TABLAS DINAMICAS EN MS EXCEL. Prof.: Wilber José Matus González

Manual Oficina Web de Clubes (FBM)

DOCENTES FORMADORES UGEL 03 PRIMARIA

2_trabajar con calc I

Formas de Pago y Efectos en Facturas de Venta WhitePaper Febrero de 2007

Comisión Nacional de Bancos y Seguros

Creación y administración de grupos de dominio

Transcripción:

Practica 11: Conexión de Java con Bases de datos Access En esta práctica vamos a crear una base de datos Microsoft Access y luego vamos a conectarnos desde una aplicación java haciendo uso del puente JDBC-ODBC que se establece con las fuentes de datos y los drivers que ya vienen el el JDK de Windows y de Java respectivamente. Creación de la base de datos en Access 1. Abra Microsoft Access 2. De clic sobre Archivo nuevo y seleccione Base de datos en blanco 3. En la ventana que aparece seleccione crear una tabla en la vista de diseño 4. En la ventana emergente ingrese los nombres de los cambos id_ciudad, nom_ciudad y poblacion como lo muestra la figura 1 Figura 1.

5. Cierre la ventana y escoja guardar los cambios, en el nombre de la tabla digite Ciudad. 6. Seleccione la opción Tablas y luego seleccione la tabla ciudad dando doble clic. 7. Ingrese los datos que muestra la figura 2. Hasta aquí ya se ha creado la base de datos y se han ingresado los datos en la tabla ciudad, ahora vamos a crear una aplicación en java que se conecte y nos permita recuperar algunos datos. JDBC y ODBC La capacidad para acceder a bases de datos desde Java la ofrece la API JDBC (Java DataBase Conectivity). JDBC es un estándar para manejar bases de datos en Java. ODBC es un estándar de Windows para manejar bases de datos, de forma que cualquier programa en Windows que desee acceder a bases de datos genéricas debe usar este estándar. La necesidad de crear un estándar propio para acceder a bases de datos desde Java se explica porque el estándar ODBC está programado en C y un programa que use este estándar, por lo tanto, depende de la plataforma. Controladores JDBC-ODBC Necesitamos acceder a un origren de datos ODBC pero contamos con una API que usa el estándar JDBC. Para solventar este problema las empresas realizan drivers que traducen el ODBC a JDBC. Hay varios tipos de Driver, pero para nuestro ejemplo usaremos los llamados puentes JDBC-ODBC. El JDK de Windows incorpora el driver necesario para conectar bases de datos Access. Crear un nuevo DSN (Data Source Name) Para realizar la conexión a una base de datos ODBC necesitaremos crear un perfil DSN desde el panel de control y posteriormente accederemos a la base de datos a partir del nombre del perfil. En el perfil DSN lo que se hace es indicar el driver a utilizar, así como el archivo o archivos del origen de datos. Estos son los pasos a llevar a cabo para configurar un perfil DSN. 1. Vaya al Panel de Control. 2. De doble clic en el icono de Herramientas Administrativas

3. De doble clic sobre el icono Origenes de Datos (ODBC) 4. En nuestra pantalla aparecerá ahora la pestaña DSN usuario seleccionada. Para crear un nuevo perfil de clic en Agregar... 5. A continuación se nos pide que ingresemos el controlador que vamos a usar en el nuevo perfil. En nuestro caso será Microsoft Access Driver (*.mdb). 6. Una vez aquí sólo nos queda dar un nombre al origen de datos y especificar el archivo.mdb de origen. Tras aceptar la ventana ya tenemos creado un perfil con lo que ya podemos comenzar a crear la aplicación en Java. Clases, objetos y métodos básicos Lo que necesitamos para hacer nuestro programa es la API JDBC incluida en el JDK. El paquete a utilizar y el cual debemos importar es el paquete java.sql. 1. Cree un nuevo proyecto en Eclipse y cree una clase llamada ControlBD dentro de un paquete llamado control. 2. Importe el paquete java.sql con la línea de código import java.sql.*; Las primeras líneas de código suelen ser rutinarias ya que siempre serán muy similares. Cargar el Driver Lo primero es hacer una llamada al Driver JDBC-ODBC para cargarlo. 1. Cree un método llamado conectar (public void conectar(){ )y en el cuerpo del método digite el siguiente código Srtring url= "jdbc:odbc:nombre_perfil_dsn"; String login= ""; String password= ""; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch(classnotfoundexception e){ System.out.println("No se encontro la clase del Driver"); Con esto ya tenemos cargado el Driver. Ahora básicamente trabajaremos con tres objetos. Estos objetos son: Connection, Statement y ResultSet. El objeto Connection se obtiene al realizar la conexión a la base de datos. El objeto Statement se crea a partir del anterior y nos permite ejecutar SQL para hacer consultas o modificaciones en la base de datos. En caso de hacer una consulta (SELECT... FROM...) se nos devolverá un objeto que representa los datos que deseamos consultar; este objeto es un objeto ResultSet (Hoja de resultados).

2. Adicione los siguientes atributos a la Clase ControlBD; Connection conn; Statement stat; ResultSet rst; El objeto Connection Debemos realizar la conexión a nuestro origen de datos. 3. Digite las siguiente línea debajo de la línea donde se carga el Driver. conn=drivermanager.getconnection(url,login,password); Los dos últimos parámetros pueden ser cadenas vacías a no ser que la base de datos requiera otros valores. Con esto ya hemos realizado una conexión a nuestra base de datos. Pero esto todavía no es suficiente. Ahora vamos a crear un objeto Statement con el que podremos ejecutar y hacer consultas SQL. Si hasta ahora todo ha sido rutinario a partir de ahora vamos a poder crear código más adaptado a las necesidades de nuestra aplicación. 4. Adicione un catch para capturar la excepción SQLException El objeto Statement Como se ha dicho, un objeto Statement se crea a partir del objeto Connection antes obtenido. También como se ha dicho un objeto Statement nos permite hacer consultas SQL que nos devuelven una hoja de resultados. Pues bien, según como deseamos que sea esa hoja de resultados (modificable, o no, sensible a las modificaciones o no,...) deberemos crear de una forma u otra el objeto Statement 5. Debajo de la línea donde se crea el objeto conn adicione la siguientes líneas de código stat = conn.createstatement(); System.out.println("Conexion establecida"); De esta forma muy simple hemos creado un objeto Statement. Ahora podemos usar este objeto Statement para hacer modificaciones en la base de datos a través del lenguaje SQL. Para realizar modificaciones, es decir, instrucciones INSERT, UPDATE o DELETE, se usa el método executeupdate pasando como parámetro una cadena de texto String que contenga la instrucción SQL.

Para hacer una consulta, es decir, una instrucción SELECT debemos usar otro método: el método executequery que como el anterior se le ha de pasar un String que contenga la instrucción. Este método nos devuelve un objeto ResultSet que contiene los datos obtenidos. El objeto ResultSet: Hoja de resultados Moverse por la hoja de resultados Al hablar de posición del cursor nos referimos a la posición dentro de los datos del objeto ResultSet. Lo primero que hay que saber es que el cursor tiene tantas posiciones como filas tenga la consulta y dos más que se sitúan antes de la primera fila y después de la última. Cuando se crea un objeto Resultset, la posición del cursor es la anterior a la primera fila. Para mover el cursor a la posición siguiente usaremos el método next() que nos devuelve una variable booleana: true, si se ha podido mover; false, si no ha sido posible el desplazamiento. Nos devolverá false si estamos en el útimo registro (el posterior al último). Para movernos hacia atrás tenemos un método muy similar: el método previous() que al igual que el anterior nos devuelve un valor booleano que será false si estamos en el registro anterior al primero. Estos métodos nos permiten movernos de forma relativa por la hoja de resultados Obtener datos de la hoja de resultados Para acceder a los datos de la hoja de resultados usamos los métodos get...(int numerocolumna) o get...(string nombrecolumna). Estos métodos nos devuelven el valor que indica el nombre del método (por ejemplo tenemos: getstring, getint, getdate,...) indicando el número o el nombre de la columna. Hay que tener en cuenta que el número de columna es el número de columna en la hoja de resultados y por tanto se establece con el orden en el que se han incluido las columnas en la instrucción SELECT. Por ejemplo si hemos hecho la consulta de la siguiente forma: SELECT Nombre, Apellidos... la columna Nombre será la primera y la columna Apellidos será la segunda independientemente de cómo estén situadas en la base de datos. Si hacemos un SELECT * FROM..., en ese caso las columnas estarán en el orden en el que están en la base de datos. 6. Cree un método llamado getciudades de la siguiente forma: public String[][] getciudades(){ int numfilas; String[][] datos; String sql="select count(*) as numfilas from ciudad"; try { rst=stat.executequery(sql); rst.next(); numfilas=rst.getint("numfilas"); datos=new String[numFilas][3]; String sql2="select * from ciudad";

rst=stat.executequery(sql2); int i=0; while(rst.next()){ datos[i][0]=integer.tostring(rst.getint(1)); datos[i][1]=rst.getstring("nom_ciudad"); datos[i][2]=integer.tostring(rst.getint(3)); i++; return datos; catch (SQLException e) { e.printstacktrace(); return null; Creación de la interfaz de usuario 1. Cree una nueva clase visual de tipo JFrame dentro de un paquete llamado vista 2. Agregue un botón en la parte inferior del Frame como lo muestra la figura 3. 3. En el centro del panel Adicione una JTable on ScrollPane, la GUI debe ir quedando como lo muestra la figura 4. 4. Adicione el evento actionperformed al botón.

5. Vaya al código de la clase y cambie la línea System.out.println("actionPerformed()"); por la línea getciudades(); los errores que se generan es porque no se ha implementado este método. 6. Antes de implementar el método importemos la clase Control.ControlBD mediante la linea de código: import control.controlbd; antes de la declaración de la clase GUI_Ciudad 7. Ahora adicione el atributo de clase de tipo ControlBD con la siguiente línea en la sección de atributos: ControlBD cbd=new ControlBD(); 8. Implemente el método getciudades de la siguiente forma: private void getciudades() { cbd.conectar(); String[][] ciudades=cbd.getciudades(); String[] columns=new String[]{"ID","NOMBRE","POLACION"; jtable=null; jtable= new JTable(ciudades, columns); jscrollpane.getviewport().add(jtable); cbd.desconectar(); El error que se genera es porque falta implementar el método desconetar en la clase ControlBD. 9. Impelerte el método desconectar en la clase ControlBD de la siguiente forma: public void desconectar(){ try { conn.close(); System.out.println("Conexion cerrada"); catch (SQLException e) { e.printstacktrace(); 10. En la clase GUI_Ciudad busque el método initialize y adicione la línea de código this.setdefaultcloseoperation(jframe.exit_on_close); 11. Cree el método main en la clase GUI_Ciudad (si no está creado) y digite las siguientes lineas de código, de modo que quede de la siguiente forma: public static void main(string[] args) { GUI_Ciudad gciudad=new GUI_Ciudad(); gciudad.setvisible(true);

12. Ejecute la clase GUI_Ciudad y de clic sobre el botón Consultar, si las cosas salieron bien, la interfaz debería verse como la figura. Fin de la Práctica