Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Imprimir resultado de consulta en JTextField

Estas en el tema de Imprimir resultado de consulta en JTextField en el foro de Java en Foros del Web. Buenas tardes. Me encuentro con un pequeño problema, a la hora de hacer una consulta a una base de datos quiero que el resultado se ...
  #1 (permalink)  
Antiguo 27/03/2016, 14:39
 
Fecha de Ingreso: marzo-2016
Mensajes: 7
Antigüedad: 8 años
Puntos: 0
Imprimir resultado de consulta en JTextField

Buenas tardes.
Me encuentro con un pequeño problema, a la hora de hacer una consulta a una base de datos quiero que el resultado se me imprima en un jtextfield pero por el momento no lo he logrado.

Tengo programado un boton para buscar segun un ID

************************************************** *******

private void BtnBUSCARActionPerformed(java.awt.event.ActionEven t evt) {
db.getValues(TxtCOD_PROD.getText());
}

************************************************** *******

Lo que hace es lo siguiente

************************************************** *******

public void getValues(String Cod_Prod) {
form f = new form();
String cadena="";
try {
String Query = "SELECT Nom_Prod FROM Productos where Cod_Prod ="+Cod_Prod;
Statement st = Conexion.createStatement();
java.sql.ResultSet resultSet;
resultSet = st.executeQuery(Query);
while(resultSet.next()){
f.TxtNOM_PROD.setText(resultSet.getString("Nom_Pro d"));
cadena=resultSet.getString("Nom_Prod");
System.out.println("Nombre de producto: "+resultSet.getString("Nom_Prod")+"\n"+cadena) ;

}
f.TxtNOM_PROD.setText(cadena);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Error en la adquisición de datos");
}
}

************************************************** ***************
La impresion en consola la agregue solo para verificar si la consulta se ejecutaba.
Si alguien puede ayudarme le agradeceria mucho
  #2 (permalink)  
Antiguo 28/03/2016, 06:36
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 5 meses
Puntos: 454
Respuesta: Imprimir resultado de consulta en JTextField

Hola:

¿Dónde está el JTextField?

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 29/03/2016, 16:30
 
Fecha de Ingreso: marzo-2016
Mensajes: 7
Antigüedad: 8 años
Puntos: 0
Respuesta: Imprimir resultado de consulta en JTextField

El JTextField esta en la clase form, por eso en el codigo que puse uso un
f.TxtNOM_PROD.setText(resultSet.getString("Nom_Pro d"));
para poder acceder a el.
  #4 (permalink)  
Antiguo 30/03/2016, 03:18
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 5 meses
Puntos: 454
Respuesta: Imprimir resultado de consulta en JTextField

Hola:

El código está un poco raro. Esta parte

Código Java:
Ver original
  1. while(resultSet.next()){
  2.    f.TxtNOM_PROD.setText(resultSet.getString("Nom_Pro d"));
  3.    cadena=resultSet.getString("Nom_Prod");
  4.    System.out.println("Nombre de producto: "+resultSet.getString("Nom_Prod")+"\n"+cadena) ;
  5. }
  6. f.TxtNOM_PROD.setText(cadena);

va metiendo en el mismo textfield todos los valores que encuentra dentro del bucle y el ultimo valor, por segunda vez, fuera del bucle.

Imagino que "Nom_Pro d" con un espacio es un problemilla de copy-paste y que no lo tienes así en el código.

Si el system.out te esta sancando los valores y el textfield no lo muestra, asegúrate de que ese textfield donde estás metiendo los valores es el que realmente está visible. Suele ser un error habitual hacer sin querer dos news del JTextfield (por ejemplo, al declararlo como atributo y luego en el constructor o metodo init()) de forma que hay dos textfield, uno visible y el otro por ahí perdido.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 30/03/2016, 11:56
 
Fecha de Ingreso: marzo-2016
Mensajes: 7
Antigüedad: 8 años
Puntos: 0
Respuesta: Imprimir resultado de consulta en JTextField

Creo que he detectado el problema, pero no se como solucionarlo, trabajo con dos clases, una el form y la otra donde estan los metodos. Entonces he probado a asignarle valor desde la clase form y sin problemas, pero desde la otra clase es que no escribe los datos, entonces nose si es de tocarle alguna propiedad al JTextField aparte de declararlo public o si ya obligatoriamente el .setText lo tengo que hacer desde la clase form
  #6 (permalink)  
Antiguo 30/03/2016, 13:19
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 5 meses
Puntos: 454
Respuesta: Imprimir resultado de consulta en JTextField

Hola:

El problema es este. En el código que has puesto arriba, en el método getValues estas haciendo esto

Código Java:
Ver original
  1. public void getValues(String Cod_Prod) {
  2.    form f = new form();
  3. ....

estas creando un nuevo form que .... ¿visualizas? ¿metes en la ventana principal? ¿Es el mismo la ventana principal?. No debes hacer un nuevo new form, sino reutilizar el que ya tienes, quizas en el main de tu aplicación o en otro sitio.

A tu clase con los métodos pásale en el constructor o como parámetro de algún método ese form que ya está creado, añadido a la ventana principal y visualizado.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #7 (permalink)  
Antiguo 31/03/2016, 13:50
 
Fecha de Ingreso: marzo-2016
Mensajes: 7
Antigüedad: 8 años
Puntos: 0
Respuesta: Imprimir resultado de consulta en JTextField

Gracias por tu tiempo leyendo el codigo y comentando para guiarme a resolver el problema. Si era problema con la instancia f, he puesto todo el codigo en la misma clase del formulario y va sin problemas.

Muchas gracias.

Etiquetas: jtextfield, programa, resultado, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:30.