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