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

[SOLUCIONADO] Problemas con Query de java y mysql

Estas en el tema de Problemas con Query de java y mysql en el foro de Java en Foros del Web. saludos a todos los genios del foro. tengo un sistema que esta en VisualBasic que pretende cambiar los codigos de registro por los nombres del ...
  #1 (permalink)  
Antiguo 27/01/2018, 09:59
Avatar de gnavarro82  
Fecha de Ingreso: noviembre-2012
Ubicación: Lima
Mensajes: 51
Antigüedad: 11 años, 5 meses
Puntos: 0
Sonrisa Problemas con Query de java y mysql

saludos a todos los genios del foro.
tengo un sistema que esta en VisualBasic que pretende cambiar los codigos de registro por los nombres del personal y el query que uso para mostrar la data en un DatraGridView es el siguente


Código:
query = "select t1.codregistro,t1.fecha, t2.placa as Placa, t3.apellidos as Chofer, t4.apellidos as Lider, t5.apellidos as Auxiliar1, t6.apellidos as Auxiliar2, t1.observacion as Observacion from registroflota as t1
                     inner join unidad	as t2 on (t1.cod_unidad = t2.codunidad)
                     inner join personal as t3 on (t1.cod_chofer = t3.codpersonal)
                     inner join personal as t4 on (t1.cod_lider = t4.codpersonal)
                     inner join personal as t5 on (t1.cod_auxiliar1 = t5.codpersonal)
                     inner join personal as t6 on (t1.cod_auxiliar1 = t6.codpersonal)
                     order by fecha desc"
ahora este query lo quiero implementar para llenar un JTable, pero no lo llena.
este es el metodo que estoy usando, de esta manera me muestra la data pero solo como codigo.
Código:
public void MostrarRegistroflota() {// FUNCIONAL--------
		try {	
			Conn = Mysql.getConecion();
			DefaultTableModel miModelo = null;
			String sql = ("SELECT * FROM registroflota ");					
			String[] titulos = {"Codigo Registro","Fecha","Codigo Unidad","Codigo Chofer","Codigo Lider","Codigo Aux 1","Codigo Aux2","Observaciones"};
			miModelo = new DefaultTableModel(null,  titulos);
			sent = Conn.createStatement();
			ResultSet rs = sent.executeQuery(sql);
			Object [] fila = new Object[8];
				
				while(rs.next()){
				 fila[0] = 	rs.getInt("codregistro");
				 fila[1] = 	rs.getDate("fecha");
				 fila[2] = 	rs.getString("cod_unidad");
				 fila[3] = 	rs.getString("cod_chofer");
				 fila[4] = 	rs.getString("cod_lider");
				 fila[5] = 	rs.getString("cod_auxiliar1");
				 fila[6] = 	rs.getString("cod_auxiliar2");
				 fila[7] = 	rs.getString("observacion");
				
				miModelo.addRow(fila);	
				//System.out.println(fila[2]);	
				}			
				//asigna el modelo a la tabla
				tablaflota.setModel(miModelo);
				
			}catch(Exception ex) {
				
		}	
		
	}

la solucion a la que quiero llegar con el Jtable es algo como esta.

espero que me puedan ayudar con esta tremenda duda.
  #2 (permalink)  
Antiguo 01/02/2018, 10:31
 
Fecha de Ingreso: noviembre-2014
Ubicación: peru-lima
Mensajes: 32
Antigüedad: 9 años, 5 meses
Puntos: 2
Respuesta: Problemas con Query de java y mysql

ya tienes la consulta inner join, supongo que funciona, te olvidaste cambiar
String sql = ("SELECT * FROM registroflota ");
por
String sql = query; // query es tu variable tipo String que contiene una consulta inner join

En lugar de esta linea (En todas las que necesites el nombre)
rs.getString("cod_chofer");

es
rs.getString("t3.apellidos");
o
rs.getString(4); // 4 es el número de columna de la consulta sql
  #3 (permalink)  
Antiguo 01/02/2018, 13:34
Avatar de gnavarro82  
Fecha de Ingreso: noviembre-2012
Ubicación: Lima
Mensajes: 51
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problemas con Query de java y mysql

nada, sigue sin mostrar la data
mas ideas porfavor
  #4 (permalink)  
Antiguo 02/02/2018, 04:05
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Problemas con Query de java y mysql

1º ese t2.codregistro es correcto?
Luego... si estas haciendo rs.getAlgo hazlo sobre lo q recuperas ==> P. ej t2.placa lo estás recuperando como Placa

así que haz rs.getString("Placa");

y repite lo mismo con el resto...
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #5 (permalink)  
Antiguo 02/02/2018, 06:01
Avatar de gnavarro82  
Fecha de Ingreso: noviembre-2012
Ubicación: Lima
Mensajes: 51
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problemas con Query de java y mysql

Gracias ahora lo chequeo #
  #6 (permalink)  
Antiguo 02/02/2018, 16:21
Avatar de gnavarro82  
Fecha de Ingreso: noviembre-2012
Ubicación: Lima
Mensajes: 51
Antigüedad: 11 años, 5 meses
Puntos: 0
Sonrisa SOLUCION FINAL Problemas con Query de java y mysql


GRACIAS POR LA AYUDA EN REALIDAD SON LO MAXIMO.
Código:
public void MostrarRegistroflota() {// FUNCIONAL--------
		try {	
			Conn = Mysql.getConecion();
			DefaultTableModel miModelo = null;
			String[] titulos = {"Codigo Registro","Fecha","Codigo Unidad","Codigo Chofer","Codigo Lider","Codigo Aux 1","Codigo Aux2","Observaciones"};
			String query =("select t1.codregistro,t1.fecha, t2.placa as Placa, t3.apellidos as Chofer, t4.apellidos as Lider, t5.apellidos as Auxiliar1, t6.apellidos as Auxiliar2, t1.observacion as Observacion from registroflota as t1"
					+ "		inner join unidad	as t2 on (t1.cod_unidad = t2.codunidad)"
					+ "inner join personal as t3 on (t1.cod_chofer = t3.codpersonal)"
					+ "inner join personal as t4 on (t1.cod_lider = t4.codpersonal)"
					+ "inner join personal as t5 on (t1.cod_auxiliar1 = t5.codpersonal)"
					+ "inner join personal as t6 on (t1.cod_auxiliar1 = t6.codpersonal)");
			miModelo = new DefaultTableModel(null,  titulos);
			sent = Conn.createStatement();
			ResultSet rs = sent.executeQuery(query);
			Object [] fila = new Object[8];
				
				while(rs.next()){
				 fila[0] = 	rs.getInt("codregistro");
				 fila[1] = 	rs.getDate("fecha");
				 fila[2] = 	rs.getString("Placa");
				 fila[3] = 	rs.getString("Chofer");
				 fila[4] = 	rs.getString("Lider");
				 fila[5] = 	rs.getString("Auxiliar1");
				 fila[6] = 	rs.getString("Auxiliar2");
				 fila[7] = 	rs.getString("Observacion");
				
				miModelo.addRow(fila);	
				//System.out.println(fila[2]);	
				}			
				//asigna el modelo a la tabla
				tablaflota.setModel(miModelo);
		
			}catch(Exception ex) {
				
		}
		finally {
			try {
				Conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}// fin del metodo MOSTARR REGISTRSO

Etiquetas: jtable, query
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 01:16.