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

[SOLUCIONADO] Apoyo con Query para Select desde Java a Mysl

Estas en el tema de Apoyo con Query para Select desde Java a Mysl en el foro de Java en Foros del Web. hola amigos, nuevamente acudo a ustedes con este problema, que ahora se me esta haciendo recurrente. tengo 2 tablas qu tienen en comun un campo ...
  #1 (permalink)  
Antiguo 19/02/2018, 19:42
Avatar de gnavarro82  
Fecha de Ingreso: noviembre-2012
Ubicación: Lima
Mensajes: 51
Antigüedad: 11 años, 5 meses
Puntos: 0
Sonrisa Apoyo con Query para Select desde Java a Mysl

hola amigos, nuevamente acudo a ustedes con este problema, que ahora se me esta haciendo recurrente. tengo 2 tablas qu tienen en comun un campo en comun


cuando realizo un select desde java de esta manera, no me devuelve nada
Código:
public DefaultTableModel mostrarVentas() {
		try {
			DefaultTableModel miModelo;
			String[] titulos = { "Id", "IdReserva", "Nombre", "Fecha", "Hora" };
			String datos[] = new String[5];
			miModelo = new DefaultTableModel(null, titulos);
			String sql = "SELECT v.idVenta, v.reservaId, r.nombre, v.fecha, v.hora FROM tbventa v, tbreserva r where r.idReserva = v.reservaId";
			PreparedStatement pst = cn.prepareStatement(sql);
			ResultSet rs = pst.executeQuery();
			while (rs.next()) {
				datos[0] = rs.getString("v.idVenta");
				datos[1] = rs.getString("v.reservaId");
				datos[2] = rs.getString("r.nombre");
				datos[3] = rs.getString("v.fecha");
				datos[4] = rs.getString("v.hora");
				miModelo.addRow(datos);
			}

			return miModelo;
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, e);
			return null;
		}
	}
y si lo quiero hacer de manera mas simple en otra clase , me figura el siguiente error
Código:
public static void main(String[] args) throws SQLException {
		// TODO Auto-generated method stub
		
		String datos[] = new String[5];
		String sql = "SELECT v.idVenta, v.reservaId, r.nombre, v.fecha, v.hora FROM tbventa v"
						+ "inner join tbreserva as r on (r.idReserva = 2)";
           
		PreparedStatement pst = cn.prepareStatement(sql);
		ResultSet rs = pst.executeQuery();
		while (rs.next()) {
			datos[0] = rs.getString("v.idVenta");
			datos[1] = rs.getString("v.reservaId");
			datos[2] = rs.getString("r.nombre");
			datos[3] = rs.getString("v.fecha");
			datos[4] = rs.getString("v.hora");
			
			System.out.println(datos[1]);
			
		}
		
		
		
	}
el error es
Código:
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'v.idVenta' in 'field list'
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
	at com.mysql.jdbc.Util.getInstance(Util.java:381)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1031)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3376)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3308)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1837)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1961)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2543)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1737)
	at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1888)
	at jtablesjoin.Pueba_Join.main(Pueba_Join.java:19)
me parece que tiene que ver con la sintaxis que estoy usando para la consulta en mysql
pero no se como resolverlo.
de antemano muchas gracias a todos por sus aportes
  #2 (permalink)  
Antiguo 20/02/2018, 02:12
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Apoyo con Query para Select desde Java a Mysl

Dale un espacio vacio que java no es adivino

String sql = "SELECT v.idVenta, v.reservaId, r.nombre, v.fecha, v.hora FROM tbventa v "
+ "inner join tbreserva as r on (r.idReserva = 2)";

o

String sql = "SELECT v.idVenta, v.reservaId, r.nombre, v.fecha, v.hora FROM tbventa v"
+ " inner join tbreserva as r on (r.idReserva = 2)";
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 21/02/2018, 21:05
Avatar de gnavarro82  
Fecha de Ingreso: noviembre-2012
Ubicación: Lima
Mensajes: 51
Antigüedad: 11 años, 5 meses
Puntos: 0
Sonrisa Respuesta: Apoyo con Query para Select desde Java a Mysl

Cita:
Iniciado por Fuzzylog Ver Mensaje
Dale un espacio vacio que java no es adivino

String sql = "SELECT v.idVenta, v.reservaId, r.nombre, v.fecha, v.hora FROM tbventa v "
+ "inner join tbreserva as r on (r.idReserva = 2)";

o

String sql = "SELECT v.idVenta, v.reservaId, r.nombre, v.fecha, v.hora FROM tbventa v"
+ " inner join tbreserva as r on (r.idReserva = 2)";
gracias por el aporte, eres lo maximo.
dime y si lo quisiera hace de esta manera.
Código:
String sql = "SELECT v.idVenta, v.reservaId, r.nombre, v.fecha, v.hora FROM tbventa v, tbreserva r where r.idReserva = v.reservaId";
porque no se que problema hay en mi metodo que no me llena el JTable.
Código:
public DefaultTableModel mostrarDatos() {
		try {
		DefaultTableModel miModelo;	
		String[] titulos = { "Id", "IdReserva", "Nombre", "Fecha", "Hora" };
		String datos[] = new String[5];
		miModelo = new DefaultTableModel(null, titulos);
		String sql = "SELECT v.idVenta, v.reservaId, r.nombre, v.fecha, v.hora FROM tbventa v, tbreserva r where r.idReserva = v.reservaId";
		PreparedStatement pst = cn.prepareStatement(sql);
		ResultSet rs = pst.executeQuery();
		while (rs.next()) {
			datos[0] = rs.getString("v.idVenta");
			datos[1] = rs.getString("v.reservaId");
			datos[2] = rs.getString("r.nombre");
			datos[3] = rs.getString("v.fecha");
			datos[4] = rs.getString("v.hora");
			miModelo.addRow(datos);
			
		}
		//System.out.println(datos[0]);
		return miModelo;
	} catch (Exception e) {
		JOptionPane.showMessageDialog(null, e);
		return null;
	}
	}
  #4 (permalink)  
Antiguo 21/02/2018, 22:03
Avatar de gnavarro82  
Fecha de Ingreso: noviembre-2012
Ubicación: Lima
Mensajes: 51
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Apoyo con Query para Select desde Java a Mysl

resolvi el error.
en la clase del jframe, donde tengo mis componentes, en el evento de guardar, estaba llamando a un set que no tenia nada que ver con lo que tengo que trabajar.
Nuevamente mil gracias por tu aporte, me dio la luz que necesitaba.
espero que puedas ayudar a otros como yo que vamos avanzando en el camino de java.

Etiquetas: select, sql
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 23:08.