Sie sind auf Seite 1von 8

Bases de datos y formularios Java

1. Bases de datos y formularios Java

En esta sección, creará un formulario con botones y campos de texto. Los botones se usarán para
desplazarse hacia adelante y hacia atrás a través de los registros en una tabla de base de datos.
También agregaremos botones para realizar otras tareas comunes de la base de datos. El
formulario que diseñará se verá algo como esto:

Comience un nuevo proyecto para esto haciendo clic en Archivo> Nuevo proyecto en el menú
NetBeans. Cuando aparece el cuadro de diálogo, seleccione Java> Aplicación Java. En el paso
uno del diálogo cuadro, escriba database_form como el nombre del proyecto. Desmarca la casilla
en la parte inferior para Crear Clase principal. Haga clic en el botón Finalizar para crear un proyecto
vacío.
En el área Proyecto, a la izquierda, ubique su proyecto database_form y haga clic con el botón
derecho en la entrada.
Desde el menú que aparece, seleccione Nuevo> Formulario JFrame:
Cuando aparezca el cuadro de diálogo, escriba Trabajadores para el nombre de la clase y
Empleados como el nombre del paquete. Cuando haga clic en Finalizar, verá aparecer un formulario
en blanco en la ventana principal de NetBeans.
Agregue un panel a su formulario. Luego coloque cuatro campos de texto en el panel. Elimine el
texto predeterminado para los campos de texto, dejándolos en blanco. Cambie los nombres
predeterminados de las variables para los campos de texto a lo siguiente:

textID
textFirstName
textLastName
textJobTitle

Agregue una etiqueta a su panel. Colóquelo justo a la izquierda del título del trabajo Campo de
texto. Ingrese "Título del trabajo" como el texto de la etiqueta. Organice los campos de texto y la
etiqueta para que su formulario tenga el siguiente aspecto:

Lo que queremos hacer ahora es hacer que el primer registro de la tabla de la base de datos
aparezca en los campos de texto cuando el formulario se carga por primera vez. Para hacer eso,
podemos llamar a un método desde el Constructor del formulario.
En primer lugar, sin embargo, podemos agregar el archivo JAR de Client Driver al proyecto, al igual
que la última vez. Esto evitará cualquier error de "Driver Not Found". Por lo tanto, en el área
Proyectos, haga clic con el botón derecho en la entrada Bibliotecas de su proyecto. Desde el menú
que aparece, selecciona Agregar JAR / Carpeta. Cuando aparezca el cuadro de diálogo, busque el
archivo derbyclient.jar. Luego haz clic en Abrir para agregarlo a tu proyecto.
En la ventana principal de NetBeans, haga clic en el botón Fuente en la parte superior para acceder
a su código. Ahora agregue las siguientes instrucciones de importación cerca de la parte superior:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;

Ya conociste todo esto antes, los primeros cinco de la sección anterior. El último, JOptionPane, es
para que podamos mostrar mensajes de error.
Dentro de la clase, agregue las siguientes declaraciones de variables:

Connection con;
Statement stmt;
ResultSet rs;

Justo debajo del Worker Constructor, agregue el siguiente método:

public void DoConnect( ) {


}

Ahora agrega una llamada a este método desde el Constructor:

public Workers() {
initComponents();
DoConnect();
}

Su ventana de código se verá así: (No se preocupe si tiene subrayados para las instrucciones de
importación. A menos que sean subrayados rojos. En ese caso, es posible que haya cometido un
error al escribir).
Lo que hemos hecho aquí es configurar un objeto Connection llamado con, un objeto Statement
llamado stmt y un objeto ResultSet llamado rs. Los hemos configurado en la parte superior porque
nuestros botones necesitarán acceso a estos objetos.
Cuando se cargue el formulario, se llamará a nuestro método DoConnect. Podemos agregar código
aquí para conectarnos a la base de datos y mostrar el primer registro en los campos de texto.
El código para agregar para el método DoConnect es casi idéntico al código que escribió en la
sección anterior. Es esto:
Una línea que puede que no haya conocido es esta:

String id = Integer.toString( id_col );

Debido a que la columna ID es un Entero, necesitamos convertirlo a una Cadena para el método
setText del Campo de Texto. Necesitamos hacer esto porque Text Field no acepta valores enteros
directamente; es necesario convertirlos a texto.
Todas las otras líneas en el código deberían ser familiares para usted por ahora. Estudia el código
para asegurarte de que sabes lo que está sucediendo. A continuación, agregue su propio método
DoConnect.
Puede ejecutar su programa ahora. Primero, sin embargo, asegúrese de iniciar su servidor Java
DB desde la ventana de Servicios.
Cuando ejecuta su programa, debería ver el primer registro que se muestra en los campos de texto:
Ahora que tenemos el primer registro visualizado, podemos agregar algunos botones para
desplazarnos por el resto de los datos de la tabla. Lo haremos en la próxima lección.

2. Botones de desplazamiento de la base de datos


Lo que haremos ahora es agregar cuatro botones al formulario. Los botones nos permitirán avanzar
en los registros, retroceder, avanzar al último registro y pasar al primer registro.
Así que agrega un nuevo panel a tu formulario. Agrande y añada botones para el panel. Cambie
los nombres de las variables de los botones a lo siguiente:

btnNext
btnPrevious
btnLast
btnFirst

Cambie el texto de cada botón Siguiente, Anterior, Último, Primero. Tu forma se verá así:

Mover al siguiente registro

Haga doble clic en su botón Siguiente para crear un código auxiliar.


Tienes que hacer dos cosas con el botón Siguiente: primero, verifica si hay un próximo registro para
mover; y segundo, si hay un próximo registro, muéstrelo en los campos de texto. Podemos crear
una declaración IF para esto. Pero tiene que ser envuelto en un intento ... atrapar bloque. Así que
agregue lo siguiente a su código auxiliar del siguiente botón:
try {
if ( rs.next( ) ) {

}
else {
rs.previous( );
JOptionPane.showMessageDialog(Workers.this, "End of File");
}
}
catch (SQLException err) {
JOptionPane.showMessageDialog(Workers.this, err.getMessage());
}

La instrucción IF mueve el ResultSet en un registro a la vez. Si no hay un próximo registro, se


devuelve un valor de falso. La parte Else mueve el ResultSet de nuevo un registro. Eso es porque
el Cursor se habrá movido más allá del último registro.
En los corchetes para la declaración IF, podemos agregar el código para mostrar el registro en los
campos de texto:

int id_col = rs.getInt("ID");


String id = Integer.toString(id_col);
String first = rs.getString("First_Name");
String last = rs.getString("Last_Name");
String job = rs.getString("Job_Title");
textID.setText(id);
textFirstName.setText(first);
textLastName.setText(last);
textJobTitle.setText(job);

Este es el mismo código que tenemos en nuestro método DoConnect. (Podríamos crear un nuevo
método para no duplicar ningún código, pero lo mantendremos simple).
El código para su botón Siguiente ahora debería verse así:

Cuando haya agregado su código, ejecute su programa y pruébelo. Siga haciendo clic en su
próximo botón y se desplazará por todos los registros de la tabla. Sin embargo, hay un problema.
Cuando llegue al último registro, debería ver aparecer un mensaje de error:

Das könnte Ihnen auch gefallen