▷ Curso de JAVA: Cómo hago el botón Buscar?
Una de las grandes ventajas que nos ofrece el uso de un sistema de información en nuestra empresa y/o negocio, además de almacenar y/o guardar información en una base de datos, es el poder realizar consultas de todos esos datos guardados, de una manera rápida y eficaz.
Si bien es cierto, que aún muchas personas son reacias a que en su trabajo implanten un software para gestionar y manejar ciertos procesos, ellos no pueden "tapar el sol con una mano", y negar que es mucho más óptimo dar unos cuantos clics para tener a la mano toda la información que un determinado cliente u otra persona les solicite, que preferir buscar en una "pila o montaña de papel" que de verdad resulta muy tedioso y muy pero muy poco óptimo e insatisfactorio.
Curso de JAVA: Cómo hago el botón Buscar? |
En este decimosexto capítulo de nuestro Curso de JAVA, veremos la creación e implementación de un área de búsqueda que le permitirá a los usuarios de nuestro software, realizar consultas de información previamente guardada en la base de datos, para su posterior verificación y uso.
Explicación por Videotutorial:
Explicación por Foto-Tutorial:
*Dirígete a tu formulario, y agrega 5 componentes, así:
-1 JLabel (Etiqueta): Le cambiaremos el texto y le colocaremos “Buscar por:”.
-1 JComboBox (Lista desplegable): Procede a asignar una serie de valores predeterminados al ComboBox, los cuales equivalen a los nombres de las columnas de la tabla que agregaremos a nuestro formulario, pero en esta oportunidad sólo asignaremos 3 de los campos del JTable (“Nombres”, “Apellidos”, y “Ciudad”); luego, cambiamos el nombre de la variable de dicho elemento, en este caso le pondremos “cboxFiltro”.
Este componente, cumplirá con la función de ayudarnos a filtrar la búsqueda de información, realizando las consultas en un determinado campo de nuestra tabla de la base de datos.
-1 JTextField (Campo de texto): Eliminaremos el texto que trae por defecto; luego, modificaremos el nombre de la variable de dicho elemento, en este caso le pondremos “txtValorbusqueda”.
Todo lo que se escriba en este elemento, será lo que se busque en un determinado campo (de acuerdo a lo seleccionado en el ComboBox) de la tabla ubicada en la base de datos.
-1 JButton (Botón): Modificamos el texto que trae por defecto y le colocamos “Buscar”; a continuación, cambiaremos el nombre de la variable de dicho elemento, en este caso le pondremos “btnBuscar”.
Al presionar este elemento, se ejecutará la consulta de información en la base de datos.
-1 JTable (Tabla): Configuramos y establecemos el diseño y estructura de nuestra tabla; en otras palabras, le asignamos un número de columnas con sus respectivos nombres y/o títulos, eliminamos también todas las filas que esta traiga por defecto; posteriormente, alteramos el nombre de la variable del JTable, en este caso le pondremos “tblDatos”. Aquí se mostrarán todos los registros que coincidan con la búsqueda y/o consulta lanzada desde nuestro programa:
-1 JLabel (Etiqueta): Le cambiaremos el texto y le colocaremos “Buscar por:”.
-1 JComboBox (Lista desplegable): Procede a asignar una serie de valores predeterminados al ComboBox, los cuales equivalen a los nombres de las columnas de la tabla que agregaremos a nuestro formulario, pero en esta oportunidad sólo asignaremos 3 de los campos del JTable (“Nombres”, “Apellidos”, y “Ciudad”); luego, cambiamos el nombre de la variable de dicho elemento, en este caso le pondremos “cboxFiltro”.
Este componente, cumplirá con la función de ayudarnos a filtrar la búsqueda de información, realizando las consultas en un determinado campo de nuestra tabla de la base de datos.
-1 JTextField (Campo de texto): Eliminaremos el texto que trae por defecto; luego, modificaremos el nombre de la variable de dicho elemento, en este caso le pondremos “txtValorbusqueda”.
Todo lo que se escriba en este elemento, será lo que se busque en un determinado campo (de acuerdo a lo seleccionado en el ComboBox) de la tabla ubicada en la base de datos.
-1 JButton (Botón): Modificamos el texto que trae por defecto y le colocamos “Buscar”; a continuación, cambiaremos el nombre de la variable de dicho elemento, en este caso le pondremos “btnBuscar”.
Al presionar este elemento, se ejecutará la consulta de información en la base de datos.
-1 JTable (Tabla): Configuramos y establecemos el diseño y estructura de nuestra tabla; en otras palabras, le asignamos un número de columnas con sus respectivos nombres y/o títulos, eliminamos también todas las filas que esta traiga por defecto; posteriormente, alteramos el nombre de la variable del JTable, en este caso le pondremos “tblDatos”. Aquí se mostrarán todos los registros que coincidan con la búsqueda y/o consulta lanzada desde nuestro programa:
*Ya con nuestro formulario listo, nos ubicaremos en nuestro paquete “Metodos”, y creamos la Clase “MetodosBD”:
Deberás copiar y pegar las siguientes librerías, para que el código funcione:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
NOTA: Recuerda pegar dichas librerías 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 MetodosBD{...).
*Luego, copia y pega el siguiente código, dentro de las llaves de apertura “{” y de cierre “}” de la Clase “MetodosBD”:
Pool metodospool = new Pool(); DefaultTableModel ModeloTabla; public void Buscar(String valor, String filtro, JTable tablacontactos){ String [] columnas={"ID","Nombres","Apellidos","Email","Celular", "Dirección", "Ciudad"}; String [] registro=new String[7]; ModeloTabla=new DefaultTableModel(null,columnas); String SSQL; Connection conect = null; if(filtro.equals("Apellidos")){ SSQL= "SELECT id_contacto, nombres, apellidos, email, celular, direccion, ciudad " + "FROM contacto WHERE apellidos LIKE '%"+valor+"%'"; }else if(filtro.equals("Email")){ SSQL= "SELECT id_contacto, nombres, apellidos, email, celular, direccion, ciudad " + "FROM contacto WHERE email LIKE '%"+valor+"%'"; }else{ SSQL= "SELECT id_contacto, nombres, apellidos, email, celular, direccion, ciudad " + "FROM contacto WHERE celular LIKE '%"+valor+"%'"; } try { conect = metodospool.dataSource.getConnection(); PreparedStatement st = conect.prepareStatement(SSQL); ResultSet rs = st.executeQuery(); while (rs.next()){ registro[0]=rs.getString("id_contacto"); registro[1]=rs.getString("nombres"); registro[2]=rs.getString("apellidos"); registro[3]=rs.getString("email"); registro[4]=rs.getString("celular"); registro[5]=rs.getString("direccion"); registro[6]=rs.getString("ciudad"); ModeloTabla.addRow(registro); } tablacontactos.setModel(ModeloTabla); } catch (SQLException e) { JOptionPane.showMessageDialog(null, e, "Error durante el procedimiento", JOptionPane.ERROR_MESSAGE); }finally{ if(conect!=null){ try { conect.close(); } catch (SQLException ex) { JOptionPane.showMessageDialog(null, ex, "Error de desconexión", JOptionPane.ERROR_MESSAGE); } } } }
NOTA: Lo que representa este código, es la creación de un método que hemos llamado “Buscar”; el cual, como su nombre lo indica, es el que nos va a permitir realizar las consultas en nuestra tabla de la base de datos, para que de esta manera el usuario del software pueda obtener la información requerida.
Como vemos, este es un método que necesita de otra Clase (Pool), para realizar la conexión con la base de datos; además, se procede a usar un objeto “DefaultTableModel”, que nos va a permitir manipular el contenido de nuestro JTable.
Si deseas tener una explicación detallada línea por línea del anterior código, puedes dirigirte al siguiente artículo:
"Código JAVA: Consultar información en una Base de datos y mostrarla en un JTable".
NOTA: Algo muy importante a tener en cuenta de este método, es la parte de la sentencia SQL que hemos de establecer para realizar nuestra consulta a la Base de datos. Si necesitas conocer un poco más sobre la estructura de este tipo de sentencia, dirígete al post donde te lo explicamos, sólo da clic en el enlace:
"Sentencia SQL: Consultar registros específicos de una tabla (Condicional WHERE)".
*Teniendo en cuenta todo lo anterior, nuestra Clase “MetodosBD” quedaría de la siguiente forma:
Como vemos, este es un método que necesita de otra Clase (Pool), para realizar la conexión con la base de datos; además, se procede a usar un objeto “DefaultTableModel”, que nos va a permitir manipular el contenido de nuestro JTable.
Si deseas tener una explicación detallada línea por línea del anterior código, puedes dirigirte al siguiente artículo:
"Código JAVA: Consultar información en una Base de datos y mostrarla en un JTable".
NOTA: Algo muy importante a tener en cuenta de este método, es la parte de la sentencia SQL que hemos de establecer para realizar nuestra consulta a la Base de datos. Si necesitas conocer un poco más sobre la estructura de este tipo de sentencia, dirígete al post donde te lo explicamos, sólo da clic en el enlace:
"Sentencia SQL: Consultar registros específicos de una tabla (Condicional WHERE)".
*Teniendo en cuenta todo lo anterior, nuestra Clase “MetodosBD” quedaría de la siguiente forma:
package Metodos; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.swing.JOptionPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; public class MetodosBD { Pool metodospool = new Pool(); DefaultTableModel ModeloTabla; public void Buscar(String valor, String filtro, JTable tablacontactos){ String [] columnas={"ID","Nombres","Apellidos","Email","Celular", "Dirección", "Ciudad"}; String [] registro=new String[7]; ModeloTabla=new DefaultTableModel(null,columnas); String SSQL; Connection conect = null; if(filtro.equals("Apellidos")){ SSQL= "SELECT id_contacto, nombres, apellidos, email, celular, direccion, ciudad " + "FROM contacto WHERE apellidos LIKE '%"+valor+"%'"; }else if(filtro.equals("Email")){ SSQL= "SELECT id_contacto, nombres, apellidos, email, celular, direccion, ciudad " + "FROM contacto WHERE email LIKE '%"+valor+"%'"; }else{ SSQL= "SELECT id_contacto, nombres, apellidos, email, celular, direccion, ciudad " + "FROM contacto WHERE celular LIKE '%"+valor+"%'"; } try { conect = metodospool.dataSource.getConnection(); PreparedStatement st = conect.prepareStatement(SSQL); ResultSet rs = st.executeQuery(); while (rs.next()){ registro[0]=rs.getString("id_contacto"); registro[1]=rs.getString("nombres"); registro[2]=rs.getString("apellidos"); registro[3]=rs.getString("email"); registro[4]=rs.getString("celular"); registro[5]=rs.getString("direccion"); registro[6]=rs.getString("ciudad"); ModeloTabla.addRow(registro); } tablacontactos.setModel(ModeloTabla); } catch (SQLException e) { JOptionPane.showMessageDialog(null, e, "Error durante el procedimiento", JOptionPane.ERROR_MESSAGE); }finally{ if(conect!=null){ try { conect.close(); } catch (SQLException ex) { JOptionPane.showMessageDialog(null, ex, "Error de desconexión", JOptionPane.ERROR_MESSAGE); } } } } }
*Ahora, vamos a dirigirnos nuevamente a nuestro formulario JAVA, y daremos doble clic (seguidos) sobre nuestro botón “Buscar”, para que de esta manera accedamos a la parte del código, más exactamente dentro del Evento que se ejecutará todos los códigos que allí se coloquen (una vez se pulse sobre el botón “Buscar”):
Puedes colocarla afuera (arriba) del método del botón, pues esto es lo más recomendable, ya que posiblemente necesites usar otros métodos creados en la Clase “MetodosBD” y por consiguiente ya no tendrás que instanciarla nuevamente para hacer uso de los mismos, sino que tan sólo con instanciarla una sola vez, bastará.
*Ahora sólo debemos ejecutar nuestro proyecto y/o formulario, diligenciar los campos con los datos correspondientes y pulsar el botón “Buscar”, de esta manera se nos mostrarán en la tabla, los registros que coincidan con la consulta ejecutada:
Ahora bien, si necesitas ver cada dato de una forma más detallada y completa, puedes asignar la funcionalidad de que cuando des clic en la tabla, se te muestren dichos datos en los respectivos campos de tu formulario, ¿deseas saber cómo hacerlo?, entonces da clic aquí.
Si deseas descargar el vídeo, junto con el fascículo (PDF) del presente tema, sólo debes dirigirte a nuestra Zona de Descargas, y dar clic sobre el icono "Curso de JAVA Parte 16".
Para ver la Parte 15 del Curso, puedes dar clic en el siguiente enlace: "Curso de JAVA: Cómo hago el botón Guardar?"
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?"
*Borraremos el comentario que está allí por defecto, y colocaremos el siguiente código:
MetodosBD metodosbd = new MetodosBD();
metodosbd.Buscar(txtValorbusqueda.getText(), cboxFiltro.getSelectedItem().toString(), tblDatos);
*Lo que hacemos es instanciar un objeto de la Clase “MetodosBD” y posteriormente se procede a llamar al método “Buscar”, pasándole los respetivos parámetros, los cuales se capturan de los componentes del formulario en el que nos encontramos, los cuales agregamos al inicio (JComboBox, JTextField, y JTable).
Si deseas obtener una explicación detallada línea por línea del código anterior, puedes visitar el siguiente link: "Consultar información en una Base de datos y mostrarla en un JTable".
NOTA: Si lo deseas, la línea de código:
Si deseas obtener una explicación detallada línea por línea del código anterior, puedes visitar el siguiente link: "Consultar información en una Base de datos y mostrarla en un JTable".
NOTA: Si lo deseas, la línea de código:
MetodosBD metodosbd = new MetodosBD();
Puedes colocarla afuera (arriba) del método del botón, pues esto es lo más recomendable, ya que posiblemente necesites usar otros métodos creados en la Clase “MetodosBD” y por consiguiente ya no tendrás que instanciarla nuevamente para hacer uso de los mismos, sino que tan sólo con instanciarla una sola vez, bastará.
*Ahora sólo debemos ejecutar nuestro proyecto y/o formulario, diligenciar los campos con los datos correspondientes y pulsar el botón “Buscar”, de esta manera se nos mostrarán en la tabla, los registros que coincidan con la consulta ejecutada:
Si deseas descargar el vídeo, junto con el fascículo (PDF) del presente tema, sólo debes dirigirte a nuestra Zona de Descargas, y dar clic sobre el icono "Curso de JAVA Parte 16".
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 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.
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...
que tal Eduardo me gustaria preguntarte si se puede modificar en el mismo cuadro un dato especifico con jpopopMenu para tener mas libre el formulario y que este se pueda ver en tiempo real es decir sin necesidad de cerrar el formulario y asu vez eliminar ya no un dato si no toda la fila completa de la base de datos muchas gracias y te felicito tus enseñanzas son muy practicas
ResponderBorrarSaludos Estimado Roberto Carlos.
BorrarTodo lo que me has dicho se puede hacer, es sólo cuestión de asignarle al jPopupMenu las funciones y/o métodos de Eliminar y Modificar.
En estos momentos no tengo ningún tutorial con respecto a Modificar y Eliminar en una base de datos desde JAVA, pero pronto los estaré realizando.
Bendiciones...
muchas gracias Eduardo
ResponderBorrarHola Eduardo como seria el código en el caso de guardar y eliminar con el IDE Eclipse
ResponderBorrarSaludo cordial, estimado visitante y lector.
BorrarIndependientemente del IDE que uses, el código para realizar una operación en JAVA, va a ser el mismo en cualquier entorno de desarrollo.
Te regalo dos post donde encontrarás lo que necesitas:
Curso de JAVA: Cómo hago el botón guardar?
Código JAVA: Borrar información de una base de datos
Si llegas a tener alguna duda, déjame tu comentario.
¡CRISTO TE AMA!
Bendiciones...
Varón creo bueno según mi caso esta línea de código **SSQL= "SELECT id_contacto, nombres, apellidos, email, celular, direccion, ciudad "
ResponderBorrar+ "FROM contacto WHERE apellidos LIKE '%"+valor+"%'";** está mal.... ya que según tengo entendido, por lo menos en mi caso no me corrió de la manera q la colocaste, cuando concatenas ..... ciudad " + " FROM...... de esta manera no corre pero si lo colocas ..... ciudad * FROM ..... corre perfectamente, no se por qué a mí no me corrió de la manera q la colocaste pero al colocarla como te sugerí corrió perfectamente. La pregunta es: Corre de las dos manera o en una en particular? y si las dos son válidas porque a mi no me corrió en la manera que la planteaste?
Saludos estimado GunBoundhacker, quisiera saber si a la hora de ejecutar tu aplicación usando la línea de código que dices que no te funciona, ¿te muestra algún error?
BorrarLo que si debes tener en cuenta es que debe haber un espacio entre las palabras claves y la otra parte de la sentencia; es decir, si en tu sentencia tienes:
ciudad" + "FROM contacto
(no te va a funcionar ya que no estas dejando espacios entre las palabras), ya que si quitas las comillas y el signo de suma, esta parte del código quedaría así:
ciudadFROM contacto
Pero si colocas:
ciudad " + "FROM contacto
o
ciudad" + " FROM contacto
(si te va a funcionar).
Verifica si el programa te lanza un error y me comentas cual es.
Bendiciones...
Buenas noches amigos, busco ayuda para lo siguiente...si tengo un espacio para buscar algo (por ejemplo el buscador google) y mi boton "buscar". Si el cliente no pone nada y le da click en buscar. ¿Como hago un manejo de error ahi? O como deshabilito el boton buscar? Esto lo hice con interfaz grafica.
ResponderBorrarSaludo estimado Jhonatan Cubero.
BorrarLo que puedes hacer es utilizar un condicional "if" dentro del botón buscar, en el cual verificarás que el campo de búsqueda no esté vacío, y le envías un mensaje al usuario a través de un JOptionPane.
Cualquier duda me comentas.
Bendiciones...
Que tal!
ResponderBorrarDisculpa,me manda error en el dataSource...es l unico!...todo lo demas esta en perfecto estado
Saludos
Saludos estimado Alex Moder.
BorrarDebes verificar que la Clase Pool (que te permite hacer la conexión con la base de datos) esté correcta, y en especial que hayas importado las librerías que necesita dicha Clase.
Bendiciones...
Buenas al ejecutar el codigo me sale este error: com.microsoft.sqlserver.jdbc.SQLServerException: El nombre de columna 'autor' no es válido. ???
ResponderBorrarAlguna recoemndacion ......
Sañudos
Saludos estimada Ericka Cambronero Chinchilla, por favor revisa tu sentencia SQL y verifica que los nombres de los campos sean los mismos que los de la tabla de la base de datos.
BorrarCualquier duda me comentas.
¡CRISTO TE AMA!
¡ÉL ES TU SALVADOR!
Bendiciones...
cordial saludo me sale un error en datasource, he descargado los archivos como dices en el tutorial, pero sigue saliendo error en la clase pool, que puedo hacer.
ResponderBorrarSaludos estimado, debes cerciorarte de haber descomprimido los archivos descargados.
BorrarEn la parte donde te muestra el error, ¿te sale un icono de bombillo/foco o de otro tipo?, en caso de que sea así primero coloca el cursor del mouse sobre el icono; luego, da clic sobre el mismo, y regálame las opciones que te salen.
¡JESUCRISTO ES TU MEJOR AMIGO!
Bendiciones...
Hola Eduardo, quisiera ver si me puedes ayudar, tengo una consulta en java a una base de datos
ResponderBorrarPreparedStatement qr1 = fam.getConnection().prepareStatement("SELECT*FROM[TablaTM] where p6");
ResultSet rst1 = qr1.executeQuery();
y en esa columna p6 hay tres valores diferentes que son 1,2 y 3
lo que quiero es que de esa columna en java en un jtable me acomode
los 1 en una sola columna, los 2 en otra y asi mismo los 3 en otra
alguna idea de como hacaerlo?
gracias de antemano, saludos
Buenas noches Eduardo de antemano muchísimas gracias por todos los aportes han sido de muchísima ayuda, y bueno tengo una consulta a la hora de la ejecución del botón me presenta un error ( java.sql.SQLExcepcion: Syntax error or access violation message from server. WHERE Nombres LIKE '%"+valor+"%'".) que debo hacer para solucionarlo?
ResponderBorrarSaludos estimado Daniel Pérez Paniza, el mensaje muestra que se está presentando un error de sintaxis en tu sentencia SQL.
BorrarRegalanos en un comentario todas las sentencias SQL (en caso de que sean varias) tal cual como las tienes en tu código JAVA.
Bendiciones...
String [] columnas= {"Identificacion","Nombres","Apellidos","Fecha de Ingreso","Tipo de Contrato","Salario","EPS","Pension"};
ResponderBorrarString [] registro= new String[8];
ModeloTabla= new DefaultTableModel(null,columnas);
String SSQL;
Connection conect = null;
if(filtro.equals("Identificacion")){
SSQL= "SELECT idIdentificacion, Nombres, Apellidos,Salario, Contrato,EPS , Pension, Ingreso"
+ "FROM nomina WHERE Identificacion '%"+Valor+"%'";
} else if (filtro.equals("Nombres")){
SSQL= "SELECT idIdentificacion, Nombres, Apellidos,Salario, Contrato,EPS , Pension, Ingreso"
+ "FROM nomina WHERE Nombres LIKE'%"+Valor+"%'";
}else if (filtro.equals("Apellidos")){
SSQL= "SELECT idIdentificacion, Nombres, Apellidos,Salario, Contrato,EPS , Pension, Ingreso"
+ "FROM nomina WHERE Apellidos LIKE'%"+Valor+"%'";
} else if (filtro.equals("Salario")){
SSQL= "SELECT idIdentificacion, Nombres, Apellidos,Salario, Contrato,EPS , Pension, Ingreso"
+ "FROM nomina WHERE Salario LIKE'%"+Valor+"%'";
} else if (filtro.equals("Contrato")){
SSQL= "SELECT idIdentificacion, Nombres, Apellidos,Salario, Contrato,EPS , Pension, Ingreso"
+ "FROM nomina WHERE Contrato LIKE'%"+Valor+"%'";
} else if (filtro.equals("EPS")){
SSQL= "SELECT idIdentificacion, Nombres, Apellidos,Salario, Contrato,EPS , Pension, Ingreso"
+ "FROM nomina WHERE EPS LIKE'%"+Valor+"%'";
} else if (filtro.equals("Pension")){
SSQL= " SELECT idIdentificacion, Nombres, Apellidos,Salario, Contrato,EPS , Pension, Ingreso"
+ "FROM nomina WHERE Pension LIKE'%"+Valor+"%'";
} else {
SSQL= "SELECT idIdentificacion, Nombres, Apellidos,Salario, Contrato,EPS , Pension, Ingreso"
+ "FROM nomina WHERE Ingreso LIKE'%"+Valor+"%'";
}
try {
conect = metodospool.dataSource.getConnection();
PreparedStatement st = conect.prepareStatement(SSQL);
ResultSet rs = st.executeQuery();
while(rs.next()){
registro[0]= rs.getString("Nombres");
registro[1]= rs.getString("Apellidos");
registro[2]= rs.getString("Identificacion");
registro[3]= rs.getString("Salario");
registro[4]= rs.getString("Contrato");
registro[5]= rs.getString("EPS");
registro[6]= rs.getString("Pension");
registro[7]= rs.getString("Ingreso");
ModeloTabla.addRow(registro);
}
tabla.setModel(ModeloTabla);
}catch (SQLException e) {
JOptionPane.showMessageDialog(null,e,"Error durante el procedimiento",JOptionPane.ERROR_MESSAGE);
}finally{
if(conect!=null){
try {
conect.close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null,e,"Error de desconexion",JOptionPane.ERROR_MESSAGE);
Saludos estimado Daniel Pérez Paniza, verifica lo siguiente en todas tus sentencias SQL:
Borrar1- Ten en cuenta que la primera sentencia SQL de tu código no le asignaste la expresión LIKE.
2- Debes ser muy cuidadoso a la hora de establecer los espacios en blanco, entre una palabra y otra, según el código que me enviaste puedo notar estos dos casos, ej:
* Debes dejar el espacio en blanco entre la expresión LIKE y la comilla simple (') que antecede al signo porcentaje (%).
* Entre las comillas dobles (") y la palabra y/o expresión especial FROM, vas a dejar un espacio en blanco.
Teniendo en cuenta todo lo anterior, una de tus sentencias SQL que estaba así (mira el cambio resaltado en negrita):
"SELECT idIdentificacion, Nombres, Apellidos,Salario, Contrato,EPS , Pension, Ingreso"
+ "FROM nomina WHERE Nombres LIKE'%"+Valor+"%'";
Quedaría así:
"SELECT idIdentificacion, Nombres, Apellidos,Salario, Contrato,EPS , Pension, Ingreso"
+ " FROM nomina WHERE Nombres LIKE '%"+Valor+"%'";
Cualquier duda déjanos tus comentarios.
¡CRISTO TE AMA!
Bendiciones...
Gracias Eduardo, ya me refleja la consulta.. Muchas bendiciones, Has sido de mucha ayuda...
ResponderBorrarSiempre a la orden estimado Daniel Pérez Paniza, te invitamos a que compartas este artículo en tus redes sociales para que más amigos de la web puedan solucionar inconvenientes a la hora de realizar sus proyectos en JAVA.
Borrar¡CRISTO MURIÓ Y RESUCITÓ POR TI!
¡ENTRÉGALE TODO TU SER SÓLO A ÉL!
Bendiciones...
HOLA EDUARDO, NOS MARCA ERROR EN "POOL" NOS PODRIAS AYUDAR.
ResponderBorrarSaludos estimada mongolsDSAUPOO.
BorrarDebes verificar que la Clase Pool (que te permite hacer la conexión con la base de datos) esté correcta, y en especial que hayas importado las librerías que necesita dicha Clase.
Bendiciones...
Disculpa soy nuevo en programacion pero quisiera sabe como hacer el boton buscar, pero con un base de datos de archivo.txt . Por favor responder
ResponderBorrarHola, si en mi base de datos tengo variables de tipo float en registro[3]= rs.getString("Salario"); lo dejo como String?
ResponderBorrarAyuda me marca todos estos errores
ResponderBorrarException in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Conexion.consultar.Buscar(consultar.java:44)
at gimnasio.buscar.btnBuscarActionPerformed(buscar.java:109)
at gimnasio.buscar.access$000(buscar.java:14)
at gimnasio.buscar$1.actionPerformed(buscar.java:54)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
metodosbd.Buscar(txtValorbusqueda.getText(), Esta parte el texto "Buscar" me marca un error diciendo Create method "buscar Java.lang
ResponderBorrar