Software Médico

SimpleHC Medium

Un software pensado para toda la comunidad médica


Para solicitar desarrollo de software y/o aplicaciones personalizadas, escríbenos al formulario de contacto





Breaking News





¡BUSCA MÁS CONTENIDO AQUÍ!



▷ Curso de JAVA: Cómo llenar JComboBox con Base de Datos






Luego de haber aprendido cosas muy importantes como: Guardar, Modificar, Eliminar, Buscar, y demás temas en la primera parte del Curso de JAVA "Cómo lo hago en JAVA?", hoy anunciamos muy alegremente que entramos en la segunda temporada de este curso.

Portada del Curso Cómo lo hago en JAVA? - Segunda Temporada
Cómo lo hago en JAVA? - Segunda Temporada

Tenemos dos noticias para nuestros amados y estimados amigos de la web; la primera, es que ya no se podrá descargar el fascículo en PDF de cada tema, pero sí el video; la segunda, es que a cambio del PDF y a solicitud de muchos de ustedes podrán descargar el código fuente de cada tutorial que publiquemos en esta nueva etapa del Curso de JAVA :)


Portada del capítulo 19 del Curso de JAVA: Cómo llenar JComboBox con Base de Datos
Curso de JAVA: Cómo llenar JComboBox con Base de Datos

En este primer tutorial de la nueva temporada, veremos la forma en la que podremos llenar y/o cargar un JComboBox con información almacenada en una base de datos, esto nos será de mucha utilidad ya que podremos mostrar en este tipo de componente, datos que guardemos desde un formulario de nuestro programa, contrario a tener un JComboBox con datos estáticos lo que nos limitaría mucho.

Explicación por Videotutorial:





Explicación por Foto-Tutorial:

1. Lo primero que haremos será tener nuestro JComboBox en un formulario del proyecto.
En este caso hemos creado dentro de un paquete llamado "Formularios", un pequeño JFrame llamado "Formulario_Combobox.java" (Ver cómo crear un proyecto, un paquete, y un formulario), que contiene un JLabel al cual le hemos asignado el texto "PAÍSES DEL MUNDO" (Ver cómo asignar texto a un Componente), y un JComboBox al que le hemos puesto por nombre "cbox_Paises" (Ver cómo ponerle un nombre a un Componente):

JFrame con JComboBox
JFrame con JComboBox

2. Deberemos crear otro paquete al que llamaremos "Metodos"; en el cual, crearemos la Clase "Pool.java" que ya vimos en un tutorial anterior.
Como ya lo sabemos, esta Clase es la que nos permitirá conectar nuestra aplicación JAVA con una Base de Datos (Ver cómo crear la Clase Pool):

Clase para conectar aplicación JAVA con Base de datos
Clase Pool.java

3. En nuestro paquete "Metodos", crearemos otra Clase llamada "Cargar_Combobox.java".
En esta Clase crearemos el método que nos permitirá llenar nuestro JComboBox con información de la base de datos:


Método "Cargar_Combobox.java"
Método "Cargar_Combobox.java"

4. Deberás copiar y pegar los siguientes “import” de librerías, para que el código funcione:
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;

NOTA:
Recuerda pegar dichos import, después de la línea de código que representa el nombre del paquete (ej. package Metodos;) y sobre la línea de código que identifica el nombre de tu Clase (ej. public class Cargar_Combobox{...).







5. Pegaremos el siguiente código dentro de las llaves de apertura “{” y de cierre “}” de nuestra Clase "Cargar_Combobox.java":


Pool metodospool = new Pool();


public void consultar_paises(JComboBox cbox_paises){

//Creamos objeto tipo Connection    
java.sql.Connection conectar = null;    
PreparedStatement pst = null;
ResultSet result = null;

//Creamos la Consulta SQL
String SSQL = "SELECT nombre_pais FROM pais ORDER BY nombre_pais ASC";

//Establecemos bloque try-catch-finally
try {
       
   //Establecemos conexión con la BD 
   conectar = metodospool.dataSource.getConnection();  
   //Preparamos la consulta SQL
   pst = conectar.prepareStatement(SSQL);
   //Ejecutamos la consulta
   result = pst.executeQuery();
   
   //LLenamos nuestro ComboBox
   cbox_paises.addItem("Seleccione una opción");
   
   while(result.next()){
   
       cbox_paises.addItem(result.getString("nombre_pais"));
   
   }
   
    
} catch (SQLException e) {

    JOptionPane.showMessageDialog(null, e);
    
}finally{

    if(conectar!=null){
        
        try {
        
            conectar.close();
            result.close();
            
            conectar=null;
            result=null;
            
        } catch (SQLException ex) {
            
            JOptionPane.showMessageDialog(null, ex);
        
        }
    
    }

}
    

}


NOTA: Lo que representa este código, es la creación de un método que hemos llamado "consultar_paises"; el cual, nos va a permitir realizar la consulta de los registros que se encuentran en una tabla de la base de datos y mostrarlos en un JComboBox. Como podemos ver, este es un método que necesita de otra Clase (Pool), para realizar la conexión con la base de datos (puedes ver la estructura de dicha Clase dando clic aquí).
NOTA: Algo muy importante a tener en cuenta de este método, es la parte de la sentencia SQL que hemos de establecer y/o usar para poder consultar registros de la Base de datos. Si necesitas conocer un poco más sobre la estructura de este tipo de sentencia, dirígete y/o da clic en este enlace:
Sentencia SQL: Consultar todos los registros de una tabla
Y para saber cómo ordenar dicha consulta puedes darle un vistazo al post:
Sentencia SQL: Ordenar resultados de una consulta.

6. Si tenemos en cuenta todo lo anterior, el código de nuestra Clase "Cargar_Combobox", quedaría de la siguiente forma:

package Metodos;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;

/**
 *
 * @author EDBAST
 */
public class Cargar_Combobox {
    
Pool metodospool = new Pool();


public void consultar_paises(JComboBox cbox_paises){

//Creamos objeto tipo Connection    
java.sql.Connection conectar = null;    
PreparedStatement pst = null;
ResultSet result = null;

//Creamos la Consulta SQL
String SSQL = "SELECT nombre_pais FROM pais ORDER BY nombre_pais ASC";

//Establecemos bloque try-catch-finally
try {
       
   //Establecemos conexión con la BD 
   conectar = metodospool.dataSource.getConnection();  
   //Preparamos la consulta SQL
   pst = conectar.prepareStatement(SSQL);
   //Ejecutamos la consulta
   result = pst.executeQuery();
   
   //LLenamos nuestro ComboBox
   cbox_paises.addItem("Seleccione una opción");
   
   while(result.next()){
   
       cbox_paises.addItem(result.getString("nombre_pais"));
   
   }
   
    
} catch (SQLException e) {

    JOptionPane.showMessageDialog(null, e);
    
}finally{

    if(conectar!=null){
        
        try {
        
            conectar.close();
            result.close();
            
            conectar=null;
            result=null;
            
        } catch (SQLException ex) {
            
            JOptionPane.showMessageDialog(null, ex);
        
        }
    
    }

}
    

}
    
    
}


7. Nos vamos a dirigir a nuestro JFrame "Formulario_Combobox.java", y luego de la llave de apertura "{" de la Clase de nuestro JFrame pegaremos el siguiente código:

Cargar_Combobox metodos_cargarcombobox = new Cargar_Combobox();
NOTA:
En esta línea de código lo que se hace es instanciar la Clase "Cargar_Combobox.java".

8. Haremos uso del método que hemos creado anteriormente, al que hemos llamado "consutar_paises()"; para ello, nos ubicaremos dentro del método Constructor de nuestro JFrame "Formulario_Combobox.java", y luego de la línea "initComponents();" pegaremos el siguiente código: 
 
metodos_cargarcombobox.consultar_paises(cbox_Paises);
 
NOTA:
Si deseas obtener una explicación más detallada de cada línea de código del método que te permitirá llenar tu JComboBox con información almacenada en tu Base de datos, puedes dirigirte al siguiente enlace:
Código JAVA: Cargar JComboBox con registros de una base de datos

9. Ahora, sólo debemos ejecutar nuestro proyecto y/o formulario, y verificar que nuestro JComboBox se llene con la información almacenada en nuestra Base de Datos:

Items JComboBox
Items JComboBox

Si deseas descargar el vídeo, junto con el código fuente del presente tema, sólo debes dirigirte a nuestra Zona de Descargas, y dar clic sobre el icono "Curso de JAVA Parte 19".

Para ver el capítulo 18 de la primera temporada del Curso, puedes dar clic en el siguiente enlace: "Curso de JAVA: Cómo hago el botón Eliminar?"
Para ampliar más tus conocimientos en cuanto a desarrollar software usando JAVA, puedes ver todos los capítulos de "Cómo lo hago en JAVA?"


¿Quieres aprender a realizar aún más cosas y personalizar tus programas hechos en el lenguaje de programación JAVA?, si tu respuesta es "Sí", puedes acceder a todos los tips de JAVA que hemos estado publicando en este blog, dando clic aquí.
 
Suscríbete a nuestro blog, vía Email o RSS; además puedes seguirnos a través de nuestras redes sociales como: Facebook, Twitter, YouTube y Google+.

Si te fue de gran ayuda este material, no olvides compartirlo con tus amigos. 
Si tienes dudas o sugerencias al respecto; puedes dejarnos tus comentarios.
Bendiciones...

5 comentarios:

  1. mi hermamno que el creador me lo bendiga por tomarse el tiempo de enseñarnos viedeos y foto tutorial muy bien explicado a ningun tutorial le avia entendido estoy aprendiendo solo una dudaa como puedo mandar la lista despues de dar click al item ???
    de ante mano gracias

    ResponderBorrar
    Respuestas
    1. Saludos estimado visitante, gracias por tus comentarios :)
      A qué te refieres con mandar la lista?

      Borrar
  2. osea que al seleccionar por ejemplo Colombia me muestre algo de su información en un txfield ??? se podrá hacer?

    ResponderBorrar
    Respuestas
    1. Saludos estimado William Cruz Salvador, para que se ejecute una acción al seleccionar un Ítem de tu JComboBox, deberás asignar a dicho componente el evento "ItemStateChanged()" (Ver cómo asignar eventos a un Componente JAVA), y dentro de este emplearás el siguiente condicional:

      if(evt.getStateChange()==evt.DESELECTED){

      //Aquí lo que se ejecutará

      }

      Y dentro de dicho condicional colocarás el código que quieres ejecutar (Mostrar información, etc...).

      ¡CRISTO TE AMA!
      ¡ÉL ES TU MEJOR AMIGO!

      Bendiciones para ti y para toda tu familia :)

      Borrar
  3. algun correo para poder mandar una ayudita :D

    ResponderBorrar