Está en la página 1de 13

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Tecnologa Cliente Servidor

USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE DATOS Y EL PAQUETE JAVA.SQL

Acceso a la base de datos desde NetBeans NetBeans nos permite hacer operaciones sobre la base de datos como crear y borrar tablas, agregar y eliminar columnas, agregar, modificar y eliminar registros de datos como realizar consultas. Vamos a proceder hacer algunas operaciones: 1. Expanda el nodo con la conexin a la base de datos.

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Tecnologa Cliente Servidor

2. Observamos en la figura anterior las carpetas referidas a Tables (tablas), Views (vistas) y Procedures (procedimeintos). Si expandimos el nodo referido a Tables veremos la tabla estadio.

3. Si seleccionamos el nodo referido a Tables y damos clic botn derecho, se muestra

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Tecnologa Cliente Servidor

un men flotante y luego elegimos la opcin Create Table.

4. Vamos a proceder a crear la tabla de Equipo con los campos codequipo int, nombre varchar(40), representante varchar(32), entrenador varchar(40), grupo char(1) y estado bit. Una vez indicado los campos damos clic en el botn de comando OK.

5. Volvemos al entorno de NetBeans y observamos en la pestaa de Services la nueva tabla de Equipo.

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Tecnologa Cliente Servidor

6. Si deseamos insertar un registro a una de las tablas a travs del comando insert, seleccionamos el nodo referido a Tables. Dando clic botn derecho se muestra un men flotante y luego seleccionamos la opcin Execute Command...

7. Escribimos el comando para insertar un nuevo registro en la tabla de Equipo, luego procedemos a ejecutarlo.

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Tecnologa Cliente Servidor

8. Luego si escribimos el comando select para consultar los datos de la tabla Ciudad, observaremos el contenido de dicha tabla.

Como vern el entorno de NetBeans nos ofrece la oportunidad de acceder y manipular los datos y las estructuras de los elementos que conforman una base de datos. Ahora ustedes mismos, en base a la experiencia de los conocimeintos adquiridos en los cursos referentes a base de datos, procedan a experimientar el entorno grfico que nos ofrece NetBeans.

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Tecnologa Cliente Servidor

Paquete Java.SQL para trabajar con base de datos Para realizar una aplicacin para que realice cualquier operacin de lo ms sencilla posible se necesita de la utilizacin de varias clases e interfases. JDBC ofrece el paquete java.sql en la que existen clases e interfaces muy tiles para trabajar con base de datos. Veamos las ms importantes clases o interfases y en la medida en que se desarrolle las sesiones se detallarn ms mencionando los mtodos que tienen para hacer fcil el acceso a la base de datos.

La clase DriverManager , permite llevar a cabo una conexin con la base de datos logrando cargar un driver. Existen varios mtodos para ello, entre las cuales se destacan: public static synchronized Connection getConnection(String url) throws SQLException public static synchronized Connection getConnection(Strin url,String user, String password) throws El primero de los mtodos recibe como parmetro la direccin URL que identifica la base de datos. En el caso en que sea necesario proporcionar un usuario y una contrasea para acceder a la base de datos (como sucede en MySql) se utiliza el segundo de los mtodos. Una direccin URL JDBC proporciona un mtodo de localizacin de bases muy parecido al que representan las direcciones URL que identifican sitios Web de Internet. Los controladores JDBC tienen que ser capaces de conectar con la base de datos a partir de la informacin contenida en la direccin URL JDBC de la misma, por lo que son los desarrolladores los que fijan en la mayora de los casos la sintaxis. La interfaz Connection, cuando se utiliza uno de los mtodos anteriormente mencionados se obtiene un objeto de tipo Connection que representa como es de esperar la conexin con la base de datos. El objeto obtenido cuenta con varios mtodos. Dos de los ms importantes son: public abstract Statement createStatement() throws SQLException public abstract void close() throws SQLException El primero de los mtodos sirve para crear un objeto del tipo Statement. Las frases SQL se ejecutan normalmente mediante la utilizacin de objetos del tipo Statement. Finalmente, es conveniente cerrar las conexiones tan pronto como dejen de utilizarse para liberar recursos. No obstante, ha de tenerse en cuenta que
6

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Tecnologa Cliente Servidor

establecer una conexin es una operacin costosa, por lo que tampoco se debe estar abriendo y cerrando la conexin con frecuencia. La interfaz Statement, los objetos de tipo Statement permiten realizar consultas y efectuar operaciones de actualizacin, borrado o insercin de datos. En algunos casos es interesante tambin fijar ciertos parmetros vinculados con la consulta que se desea realizar, como por ejemplo el tiempo que estamos dispuestos a esperar a que el gestor de la base de datos devuelva el resultado de la consulta. Los mtodos que se citan a continuacin son algunos de los ms importantes para llevar a cabo todas estas acciones. public abstract ResultSet executeQuery(String sql) throws SQLException Ejecuta una senetencia SELECT y devuelve el resultado mediante la interfaz ResultSet public abstract int executeUpdate(String sql) throws SQLException Ejecuta una sentencia UPDATE, DELETE, INSERT o cualquier otra sentencia SQL que no devuelva un conjunto de registros, y devuelve el nmero de registros afectados por la sentencia. public abstract void setMaxRows(int max) throws SQLException Establece el nmero mximo de registros que puede devolver executeQuery() public abstract int getMaxRows() throws SQLException Devuelve el nmero mximo de registros que puede devolver executeQuery() public abstract void setQueryTimeout(int seconds) throws SQLException Establece el tiempo en segundos que el controlador esperar hasta que el sistema gestor de bases de datos devuelva un resultado public abstract int getQueryTimeout() throws SQLException Devuelve el tiempo en segundos que el controlador esperar hasta que el sistema gestor de bases de Datos devuelva un resultado public abstract void close() throws SQLException Libera los recursos asociados a la sentencia La interfaz ResultSet, el mtodo executeQuery que se utiliza para ejecutar sentencias SQL devuelve un objeto de tipo ResultSet. ste contiene las filas o registros obtenidos al ejecutar una sentencia SELECT. Para recuperar los datos contamos con muchas opciones. Todos los mtodos funcionan de la misma
7

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Tecnologa Cliente Servidor

manera. Toman como parmetro el ndice o el nombre del campo que se desea obtener y devuelven el dato en cuestin. public abstract String getString(int columnIndex) throws SQLException public abstract String getString(String columnName) throws SQLException public abstract int getInt(int columnIndex) throws SQLException public abstract int getInt(String columnName) throws SQLException Adems, existen otros mtodos gracias a los cuales es posible recorrer los resultados guardados en el objeto de tipo ResultSet. public abstract int findColumn(String columnName) throws SQLException Devuelve el nmero de columna cuyo nombre se pasa como parmetro public abstract boolean next() throws SQLException Un objeto de tipo ResultSet puede contener ms de un resultado. Para ir avanzando por la lista de resultados utilizamos este mtodo, que devuelve un valor indicando si existe otro resultado o no. public abstract boolean wasNull() throws SQLException Indica si el contenido de la ltima columna accedida es NULL SQL public abstract void close() throws SQLException Libera los recursos asociados al ResultSet Vamos a proceder a visualizar en objetos Jlist, los datos contenidos de la tabla de Equipo. 1) Creamos un objeto Jframe para abrir un nuevo formulario.

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Tecnologa Cliente Servidor

2) Indicamos como nombre de clase formulario: frmverEquipos. Luegos damos click en el botn de comando Finish.

Quedando el entorno de NetBeans de la siguiente manera:

3) Damos clic botn derecho sobre el diseo del formulario para cambiar el Set Layout a AbsoluteLayout, lo cual nos permitir usar los objetos de control ms libremente.

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Tecnologa Cliente Servidor

4) Colocamos los objetos de control quedando el diseo del formulario de la siguiente manera:

5) Borramos los Items de cada objeto Jlist y colocamos los nombres a cada objeto de control. Recuerden que para eliminar los items de cada Jlist hay que hacer uso de

10

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Tecnologa Cliente Servidor

model que se encuentra en la ventana de propiedades.

6) A continuacin procedemos a colocar la programacin.

11

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Tecnologa Cliente Servidor

En la primera llave (color rojo) observamos que importamos los paquetes java.sql (todo lo que acabamos de ver) y el paquete javax.swing para poder utilizar la clase JoptionPane para la visualizacin de un mensaje a traves de su mtodo ShowMessageDialog. En la segunda llave se define las variables que se van a usar. Vendra hacer los atributos de la clase frmVerEquipo. Como tenemos establecer conexin usaremos un objeto Connection (conn), para hacer una operacin de consulta usaremos un objeto Statement (st) y para almacenar los resultados de la consulta usaremos un objeto ResultSet (rs). Como la aplicacin hace uso de los Jlist se tiene crear 4 objetos instanciados de la clase DefaultListModel (mayor informacin en la sesin 4 del curso de Programacin Visual). Posteriormente preparamos variables para indicar el nombre de la base de datos, el login, el password y el url. En la tercera llave se ha diseado un mtodo denominado Enlace que permitir establecer conexin con la base de datos campeonatouefa. 7) La clase frmVerEquipo tienen un mtodo del mismo nombre frmVerEquipo(), esto es lo que se denomina mtodo constructor. Deseamos que los datos se muestren en los objetos Jlist al momento de la ejecucin del formulario debemos programar en el mtodo antes mencionado.

12

Universidad los ngeles de Chimbote Facultad de Ingeniera Escuela Profesional de Ingeniera de Sistemas

Asignatura: Tecnologa Cliente Servidor

Los objetos instanciados de la clase DefaultListModel deben ser vinculados a cada uno de las cajas de listas. Luego usando el bloque try{ } que por cierto sirve para interceptar errores y si lo hubiera ejecutara lo programado en el bloque catch{ }, establecemos laconexin usando el mtodo Enlace, creamos el objeto st de tipo Statement (se encuentra listo para relizar una operacin) y luego ejecutamos una sentencia de consulta con select cuyo resultado va ocasionar que los datos se almacenen en el objeto rs del tipo ResultSet. Finalmente con el mtodo next se logra desplazar a travs de los registros de datos para ir llenado los objetos modelo1, modelo2, modelo3 y modelo4 y de esta forma llenamos los objetos Jlist lo que nos permitir ver en el formulario los datos de la tabla de Equipo. 8) Recuerda que en la sesin anterior slo se agreg un registro a la tabla de Equipo. Si gustan ingresen ms registros a la tabla de Equipo y observarn los resultados. Si ejecutamos la aplicacin observamos lo siguiente:

En la segunda unidad de aprendizaje veremos ms operaciones con base de datos referido a mantenimientos y consulta de datos.

13