Administrar Bases de Datos en MySQL

También podría gustarte

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 22

Servicio Nacional de Aprendizaje - SENA

Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 1 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

TRABAJAR BASES DE DATOS DE MYSQL EN


NETBEANS
A continuación se relaciona el procedimiento para unir la base de datos a netbeans;
es muy importante realizar los pasos en estricto orden, recuerde que la base de datos
con sus tablas ya debe estar creada, de no estar creada. Ingrese a
MySQLWorkbench, WAMP SERVER o a XAMMP, para crearla. TENGA EN
CUENTA EL USUARIO Y LA CONTRASEÑA QUE SE MANEJA EN ESTE
INGRESO, puesto que será utilizada en más adelante, al momento de realizar la
clase conexión.

Como practica vamos a crear la base de datos “colegio”, inicialmente con la tabla
estudiante, cuya estructura es la siguiente:

Estudiante
docEst (int )
nomEst (varchar 30)
apeEst(varchar 30)
dirEst (varchar 60)
telEst (varchar 11)

Ahora ya ubicados en netbeans vamos a enlazar la base de datos.

Este proceso de codificación utilizando como leguaje de programación JAVA y bajo


el IDE netbeans 12.x requiere una serie de pasos que se deben realizar de manera
ordenada y exacta, a continuación, se describe uno a uno los pasos.

1. CREACION DEL PROYECTO

Para iniciar cree en netbeans un proyecto JAVA – JAVA APPLICATION con el


nombre colegio, en este proyecto cree los paquetes modelo, vista, controlador,
librerías, baseDeDatos, imágenes y reportes; Cada uno de estos paquetes tendrán su
respectiva información.

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 2 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

2. INICIAR Y ENLAZAR EL SERVICIO DE BASES DE DATOS.

Se debe buscar la pestaña servicios, ubicar la


opción denominada MySQL, y sobre ella hacer clic
derecho para que aparezca la opción “Connect
Using..)

Automáticamente aparecerá la presentación donde debe configurar los datos básicos


de la base de datos (database), con su respectivo password y evitar seleccionar la
casilla de verificación Remember password.

Se recomienda hacer clic en el botón Test Connection, para verificar que la


conexión está funcionando.

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 3 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

Adicionalmente se recomienda borrar el siguiente texto de la dirección JDBC URL


“mysql?zeroDateTimeBehavior=convertToNull”

De tal manera que si se realizó el procedimiento adecuadamente, el resultado será


como lo indica la pantalla y aparecerá el mensaje “Connection Succeeded”

Si el mensaje que aparece es diferente y el sistema nos informa que no es posible establecer
conexión, uno de los motivos puede ser que la librería este desactualizada, es por ello que se debe
descargar una versión mas acutlizada de dicha librería ( en este ejemplo utlizaremos la librería
MySQL Connector8.0.31.jar)

Este archivo dese ser copiado en la siguiente ruta: “C:\Program Files\NetBeans-


12.0\netbeans\ide\modules\ext”

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 4 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

Una vez copiada la librería en la respeciva ubicación, volvemos a la pestaña de servicios, opcion
DRIVERS, alli realizamos dos pasos:
1. Eliminar el driver antiguo (clic derecho - delete o suprimir)

Una vez eliminado el driver , hacemos clic derecho para que aparezca la opcion de NEW DRIVER
Y BUSCAMOS LA RUTA DONDE COPIAMOS el driver actualizado (C:\Program
Files\NetBeans-12.0\netbeans\ide\modules\ext”, seleccionamos el archivo y clic en
abrir

Automaticamente aparecerá la siguiente pantalla y se hace clic en ok.

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 5 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

Sabemos que el driver quedo actualizado porque aparece la siguiente pantalla y entre los driver se
visualiza la opcion MySQL(Connector/J driver)

En este momento volvemos a repetir los pasos para usar el conector, ES DECIR, Se debe buscar la
pestaña servicios, ubicar la opción denominada MySQL, y sobre ella hacer clic derecho para que
aparezca la opción “Connect Using..” relacionados en el numeral 2. INICIAR Y ENLAZAR EL
SERVICIO DE BASES DE DATOS.

2.1. Utilizar las librerias para el correcto FUNCIONAMIENTO DE MYSQL

Ahora vamos a informarle al sistema que utilice las librerias necesarias para el buen
funcionamiento de MYSQL, es por ello que ahora en la pestaña PROJECTS, debe buscar el icono
Libraries y hace clic derecho en la opción AddJar o AddLibrary dependiendo de la versión de
netbeans instalada, en nuestro caso es 12.x

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 6 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

En la opción AddJAR, aparecerán las siguientes imágenes, para poder ubicar la ruta adecuada de
la librería, en nuestro caso debe estar en el paquete librerias

Al realziar clic en abrir se relacionará el archivo.jar, para este momento la librería ya quedó
enlazada al proyecto y aparecerá de la siguiene manera
En este caso
8.0.31
OJO: Sin esta librería, no podríamos realizar DESDE NETBEANS ninguna gestión
en la base de datos que se creó inicialmente (para este caso, la base de datos llamada
colegio). Para cada proyecto con conexión a bases de Datos, se debe vincular esta
librería.

Puede llegar a suceder que el computador requiera una librería diferente, este
ejemplo lo realizamos con la librería 8.0.31

3. CREAR UN PAQUETE DENOMINADO CONTROLADOR

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 7 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

Desde este paquete se va manejar la conexión a la Base de datos, es por ello que se
va a crear una clase llamada clsConexion, con el siguiente código.

import java.sql.Connection; Importamos estas librerías para el manejo de la


import java.sql.DriverManager; sintaxis de SQL. DEBEN SER LAS LIBRERIAS
import java.sql.PreparedStatement;
import javax.swing.JOptionPane;
java.sql, NO las com.java

public class clsConexion {

public PreparedStatement sql;


public Connection con = null;

//metodo que controla la conexión Nombre de la BD


public void conectar() {
String db = "jdbc:mysql://localhost:3306/colegio";
String usuario = "root";
String password = "xxxx";//la contraseña que tiene el computador para la BD
try {
String controlador = " com.mysql.cj.jdbc.Driver";
Class.forName(controlador);
con = DriverManager.getConnection(db, usuario, password);
JOptionPane.showMessageDialog(null,"Conexion exitosa"); //cuando se tenga la seguridad
que la conexión fue exitosa, este JOptionPane se puede cambiar por un System.out.println
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Error al conectar");
}
}

public void cerrar() {


if (con == null) {
try {
con.close();
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "No se ha cerrado la conexión con la bd");
}
}
}
}

4. CREAR UN PAQUETE DENOMINADO MODELO

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 8 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

Desde este paquete se va a manejar las instrucciones SQL (insert, select, update, etc)
que nos permiten manipular cada una de las tablas de la Base de datos. Por cada
entidad de la base de datos, se debe tener una clase; es por ello que para este
ejemplo se va a crear una clase con el nombre clsEstudiante, con el siguiente código.
import Controlador. clsConexion;
import java.sql.ResultSet;
import javax.swing.JOptionPane;

public class clsEstudiante {

clsConexion objConec = new clsConexion();


public ResultSet datos;

DECLARACION DE VARIABLES Y ENCAPSULACION


//Declaración de Variables: SE RECOMIENDA que el nombre de estas
variables, SEAN SIMILARES AL NOMBRE de los campos en la base de datos,
para nuestro caso (docEst, nomEst, apeEst, dirEst, telEst)
)

private String docEst;


private String nomEst;
private String apeEst;
private String dirEst;
private String telEst;

//Encapsulación: Se crean los métodos GET y SET para cada variable declarada, las cuales
van acorde con los campos de la entidad a trabajar.

Netbeans nos permite realizar de manera automática la encapsulación, esto se puede realizar de
diversas formas.

Forma 1. opción refactor, luego encapsule fields.

a. Seleccione las variables a encapsular (para nuestro caso, private int docEst; private String
nomEst; private String apeEst; private String dirEst; private String telEst;)

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 9 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

b. Sin perder la selección, haga click derecho sobre la opción “REFACTOR”


c. Luego click en la opción “Encapsulate Fields..”

Al hacer clic en Encapsulate Fields… aparecerá la siguiente pantalla, para que de clic en el botón
“Refactor”

Al hacer clic en “Refactor”, el sistema automáticamente genera el siguiente código, esto optimiza
tiempos al momento de programar. La encapsulación quedaría de la siguiente manera:

public int getDocEst() {


return docEst;

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 10 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

public void setDocEst(int docEst) {


this.docEst = docEst;
}

public String getNomEst() {


return nomEst;
}

public void setNomEst(String nomEst) {


this.nomEst = nomEst;
}

public String getApeEst() {


return apeEst;
}

public void setApeEst(String apeEst) {


this.apeEst = apeEst;
}

public String getDirEst() {


return dirEst;
}

public void setDirEst(String dirEst) {


this.dirEst = dirEst;
}

public String getTelEst() {


return telEst;
}

public void setTelEst(String telEst) {


this.telEst = telEst;
}

Forma 2. Click derecho en la opción insert code…, luego Getter and setter, se deben también
seleccionar las variables de tipo private para que se genere el código correspondiente.

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 11 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

CONSTRUCCION DE LOS METODOS: Estos métodos son los que nos permitirán
manipular las tablas o entidades de la base de datos.

METODO GUARDAR

public void guardar() {


try {
objConec.conectar();
objConec.Sql = objConec.con.prepareStatement("insert into estudiante values(?,?,?,?,?)");
objConec.Sql.setInt(1, getDocEstu());
objConec.Sql.setString(2, getNomEstu()); Los campos deben llamarse igual que en la
objConec.Sql.setString(3, getApeEstu()); base de Datos y en el mismo orden de la
objConec.Sql.setString(4, getDirEstu()); tabla.
objConec.Sql.setString(5, getTelEstu());
objConec.Sql.executeUpdate(); El único campo que no se relaciona es el de
objConec.cerrar(); tipo auto_increment.
JOptionPane.showMessageDialog(null, "Registro guardado con éxito");
} catch (HeadlessException | SQLException e){
JOptionPane.showMessageDialog(null, "Error al guardar" + e);

Cuando el campo es de tipo date, en los argumentos del método se deja como tipo
String y en la instrucción SQL se informa que el campo es de tipo date con la
función STR_TO_DATE

public void guardar() {


try {
objConec.conectar();
objConec.Sql = objConec.con.prepareStatement("insert into estudiante
values((?,?,?,?,?,(STR_TO_DATE(?, '%d/%m/%Y')))");
objConec.Sql.setInt(1, getDocEstu());
objConec.Sql.setString(2, getNomEstu());
objConec.Sql.setString(3, getApeEstu());
objConec.Sql.setString(4, getDirEstu());
objConec.Sql.setString(5, getTelEstu());

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 12 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

objConec.Sql.executeUpdate();
objConec.cerrar();
JOptionPane.showMessageDialog(null, "Registro guardado con éxito");
} catch (HeadlessException | SQLException e) {
JOptionPane.showMessageDialog(null, "Error al guardar"+ e);

METODO BUSCAR
public void Buscar() {
try {
objConec.conectar();
objConec.Sql = objConec.con.prepareStatement("SELECT * FROM estudiante WHERE
docEst=?");
objConec.Sql.setInt(1, getDocEstu());
objConec.Sql.executeQuery();
datos = objConec.Sql.getResultSet();
} catch catch (HeadlessException | SQLException e){
JOptionPane.showMessageDialog(null, "error al buscar" + e);
}
}

METODO ACTUALIZAR
public void Actualizar() {
try {
objConec.conectar();
objConec.Sql = objConec.con.prepareStatement("UPDATE estudiante SET nomEst =?,
apeEst=?, dirEst =?, telEst=? WHERE docEst =?");
objConec.Sql.setString(1, getNomEstu());
objConec.Sql.setString(2, getApeEstu());
objConec.Sql.setString(3, getDirEstu());
objConec.Sql.setString(4, getTelEstu());
objConec.Sql.setInt(5, getDocEstu());
objConec.Sql.executeUpdate();
objConec.cerrar();
JOptionPane.showMessageDialog(null, "Registro actualizado con éxito");
} catch (HeadlessException | SQLException e)) {
JOptionPane.showMessageDialog(null, "error al actualizar:" + e);
}
}

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 13 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

METODO ELIMINAR (Recuerde que este método solo se usa en casos especiales, no puede
estar al acceso de todos los usuarios.)

public void eliminar() {


try {
objConec.conectar();
objConec.Sql = objConec.con.prepareStatement("delete from estudiante where docEst
=?");
objConec.Sql.setInt(1, getDocEstu());
objConec.Sql.executeUpdate();
objConec.cerrar();
JOptionPane.showMessageDialog(null, "Registro eliminado con éxito");
} catch catch (HeadlessException | SQLException e){
JOptionPane.showMessageDialog(null, "error al eliminar:"+ e);
}
}

5. CREAR UN PAQUETE DENOMINADO VISTA


En este paquete se crearán todos los formularios que van a permitir ingresar, modificar y consultar
cada una de las entidades de la base de datos.

Con las dos clases creadas, la de conexión y la que contiene sintaxis SQL procedemos a crear
el formulario para manipular la tabla de la Base de Datos, en nuestro caso la tabla
estudiante, el diseño del formulario seria el siguiente.

Puede observar que tenemos una caja de texto para cada campo de la tabla estudiante y los
botones básicos de manipulación de datos (Guardar, Buscar, Actualizar, Eliminar).

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 14 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

FORMULARIO
ESTUDIANTE

Cada uno de los botones del formulario van a tener asignadas funciones de manipulación de la
base de datos.

Se iniciará con el método guardar, de manera muy especial en este método se debe garantizar la
integridad de los datos, es por ello que se debe validar que las cajas de texto nunca estén vacías.

clsEstudiante objEst = new clsEstudiante();

//método para validar las cajas de texto y el llamado al método guardar


public void validar() {
if (txtdoc.getText().isEmpty()) {
JOptionPane.showMessageDialog(this, "Campo obligatorio");
txtdoc.grabFocus();

} else if (txtnom.getText().isEmpty()) {
JOptionPane.showMessageDialog(this, "Campo obligatorio");
txtnom.grabFocus();

} else if (txtape.getText().isEmpty()) {
JOptionPane.showMessageDialog(this, "Campo obligatorio");
txtape.grabFocus();
} else if (txtdir.getText().isEmpty()) {
JOptionPane.showMessageDialog(this, "Campo obligatorio");
txtdir.grabFocus();
} else if (txttel.getText().length() == 0) {
JOptionPane.showMessageDialog(this, "Campo obligatorio");

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 15 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

txttel.grabFocus();
} else {
this.captura();
objEst.guardar();
}

public void captura() {


objEst.setDocEstu(Integer.parseInt(txtdoc.getText()));
objEst.setNomEstu(txtnom.getText());
objEst.setApeEstu(txtape.getText());
objEst.setDirEstu(txtdir.getText());
objEst.setTelEstu(txttel.getText());
}

//Se va a llamar el método buscar de la clase Estudiante


public void buscar() {
try {
String bus = JOptionPane.showInputDialog(null, "Digite el documento a buscar");
objEst.setDocEstu(Integer.parseInt(bus));
objEst.Buscar();
if (objEst.datos.next() == true) {
txtdoc.setText("" + objEst.datos.getInt("doc_estu")); //El "doc_estu" puede ser
reemplazado por el numero 1, o por el numero al que corresponda la columna en la bd
txtnom.setText(objEst.datos.getString("nom_estu"));
txtape.setText(objEst.datos.getString("ape_estu"));
txtdir.setText(objEst.datos.getString("dir_estu"));
txttel.setText(objEst.datos.getString("tel_estu"));
} else {
JOptionPane.showMessageDialog(null, "El estudiante no existe");
}
} catch catch (HeadlessException | SQLException e){
JOptionPane.showMessageDialog(null, "Fallas tecnicas al buscar" + e);
}
}
//Se va a llamar el método actualizar de la clase Estudiante
public void actualizar() {
try{
this.captura();
objEst.Actualizar();
}
catch catch (HeadlessException | SQLException e){
JOptionPane.showMessageDialog(null, "Fallas Tecnicas" + e);
}

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 16 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

//Se va a llamar el método eliminar de la clase Estudiante, Esta opción solo se usa en
casos especiales, y una vez se haya realizado la búsqueda de un registro.
public void eliminar() { //Esta opción solo se usa en casos especiales
int a = JOptionPane.showConfirmDialog(null, "Desea Eliminar los datos?", "Sistema", 0, 1);
if (a == 0) // Hace clic en el icono SI
{
objEst.eliminar();
}
}
DATOS DE INTERES
VALIDAR QUE LAS CAJAS DE TEXTO TENGAN INFORMACION

if (cajatexto.getText().isEmpty()) { // Valida que la caja de texto tenga datos


mensaje.showMessageDialog(this, "Faltó un dato"); //Visualiza una ventana emergente
cajatexto.grabFocus(); // Deja el cursor en la caja de texto
}

VALIDAR QUE LAS CAJAS DE TEXTO SOLO RECIBAN NUMEROS

En el evento KeyPressed de la caja de texto debe incluir el siguiente código, para


buscar este evento, debe dar clic derecho estando ubicado en la caja de texto, y
automáticamente le aparecerán las siguientes opciones

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 17 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

Nombre de la caja de texto.addKeyListener(new KeyAdapter() {

public void keyTyped(KeyEvent e) {


char c = e.getKeyChar();
if (!((Character.isDigit(c) || (c == KeyEvent.VK_BACK_SPACE) || (c ==
KeyEvent.VK_DELETE)))) {
getToolkit().beep();
e.consume();
}
}
});

Siendo el resultado de la programación el siguiente;

Es así que si se tienen varias cajas de texto, donde solo se reciben números, en
cada una de ellas se debe realizar la misma programación.

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 18 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

if (evt.getKeyCode()==KeyEvent.VK_ENTER){ Esta instrucción nos permite


validar la tecla enter en una caja de texto}

METODO PARA CAPTURAR LA FECHA DEL SISTEMA

public void fecha() {


Date fechaActual = new Date();
SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
String cadenaFecha = formato.format(fechaActual);
txtfecind.setText("" + cadenaFecha);
}

Para el manejo de fechas también existen calendarios prediseñados en java, uno muy
utilizado es el jDatachooser o el Jcalendar, los cuales manejan sus propias
librerías y se deben descargar para poder vincularlas al proyecto.

Y para tomar la fecha de este calendario y mandarla a guardar a la base de Datos en


un campo tipo Date, desde el formulario debe capturarla y convertirla a tipo String,
un ejemplo seria el siguiente:

String dato = new SimpleDateFormat("dd/MM/yyyy").format(fecnac.getDate());

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 19 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

objEst.guardar(Integer.parseInt(txtcod.getText()),txtnom.getText(), txtape.getText(),
txtdireccion.getText(), txttelefono.getText(), dato);

LLENAR UN COMBO CON INFORMACION DE UNA TABLA DE LA B.D


En el formulario se realiza el siguiente método y usted llama el método cuando lo
necesite.
public void llenar_tipo()
{
try
{
objEst.llenartipo();
while(objEst.datos.next()== true)
{
combo.additem(objEst.datos.getString(2));//Este es el campo de la tabla que deseamos
mostrar, si deseo cargar el combo con 2 columnas de la BD, los concatenaría.
(cboMateria.addItem(objEst.datos.getString(1)+ "."+objEst.datos.getString(2))
}
}
catch(Exception ex)
{
System.out.println("error en buscar");
}
}

EN LA CLASE LOGICA
public void llenartipo ()
{
try
{
objConec.conectar();
objConec.Sql = objConec.con.prepareStatement ("SELECT * FROM tipo");
objConec.Sql.executeQuery();
datos = objConec.Sql.getResultSet();
objConec.cerrar();
}
catch(Exception ex)
{
System.out.println("error al buscar");
}
}

TRABAJANDO CON JTABLE

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 20 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

El método que se describe a continuación busca llenar una tabla ubicada en el


formulario, con la información que se tiene en una base de datos, para nuestro
ejemplo tendremos una tabla con los campos Nombre, Dirección y Teléfono

DefaultTableModel tabladatos; // con esta instrucción creamos un objeto llamado


modelotabla, por lo tanto esta línea de código debe estar al inicio del formulario
donde se crean y declaran todas las variables.

public class Frmtabla extends javax.swing.JFrame { //El inicio del formulario


DefaultTableModel tabladatos; //Debe crear este modelo para poder adicionar el
contenido de la tabla
/** Creates new form Frmtabla */
public Frmtabla() {
initComponents();
this.crearTabla();
}

public void crearTabla() {


Object modelodata[][] = new Object[0][0];// El primer valor es la cantidad de filas, igual
no interesa porque las filas se adaptan a la cantidad de registros incluidos

Object modelotitulos[] = {"Nombre","Direccion", "Telefono"};


tabladatos = new DefaultTableModel(); // tabladatos, es el nombre del modelo que creo,
no el de la tabla
tabladatos = new DefaultTableModel(modelodata, modelotitulos);
this.tabla.setModel(this.tabladatos); //tabla es el nombre de la tabla en el formulario, no
puede ser el mismo del modelo }

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 21 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

public void borrarTabla(){


while(0<this.tabla.getRowCount())
{
tabla.setModel(new DefaultTableModel());
this.crearTabla();
}
}

public void llenartabla() // Con información que viene de una tabla de la base de
datos
{
try
{
borrarTabla(); // metodo que permite limpiar la tabla
objEst.mtdlistar(); //método que tiene el código SQL con la información de la
tabla, recuerde que las instrucciones de este método están en la clase lógica.
while (objEst.datos.next()==true)
{
String Nombre= objEst.datos.getString(1);
String Direccion = objEst.datos.getString(2);
String Telefono = objEst.datos.getString(3);
Object fila[]={Nombre,Direccion, Telefono};
tabladatos.addRow(fila); // tabladatos Es el nombre del modelo
}
}
catch(Exception ex)
{
System.out.println("error al llenar la tabla");
}

}
SELECCIONAR UNA FILA DEL JTABLE

Este proceso nos permite seleccionar una fila del jtable mediante el uso del mouse y
cuando se ubique el puntero de éste automáticamente aparecerán los datos en
diferentes objetos, para el ejemplo que presento en este material los datos
aparecerán en los compenentes de texto (txt).

Ubiquese en el comportamiento click del Jtable y digite el siguiente código;


INSTRUCTORA MAGDA MILENA GARCIA GAMBOA
24 de marzo de 2023
Servicio Nacional de Aprendizaje - SENA
Versión: 04
Centro de Servicios Empresariales y Turísticos– Regional Santander
Página 22 de 22
Nuevas Tecnologías de la Programación. -
Manejo de bases de datos en Netbeans 12.x

int linea = nombreJtable.getSelectedRow(); //Esta instrucción captura la fila de la tabla


para mostrar los datos donde quiera.
jLabel6.setText(jTable1.getValueAt(linea, 0).toString());
txtfechacita.setText(jTable1.getValueAt(linea, 1).toString());
txthoracita.setText(jTable1.getValueAt(linea, 2).toString());

Estas instrucciones lo que hacen es capturar el número de la fila que selecciono y


enviar los datos de todas las columnas de la fila a los objetos, por eso el 0,1,2

IMPRIMIR DESDE UN JTABLE

Estas instrucciones lo que permiten es imprimir el contenido que está visualizando


el Jtable, para que la instrucción se ejecute se debe llamar el método en algún
componente del Formulario.

public void imprimirtabla() {


try {
MessageFormat headerFormat = new MessageFormat("Page {0}");
MessageFormat footerFormat = new MessageFormat("- {0} -");
NombreJtable.print(JTable.PrintMode.FIT_WIDTH, headerFormat, footerFormat);
} catch (PrinterException pe) {
System.err.println("Error printing: " + pe.getMessage());
}
}

INSTRUCTORA MAGDA MILENA GARCIA GAMBOA


24 de marzo de 2023

También podría gustarte