Conexión con base de datos

This commit is contained in:
David 2024-03-19 23:12:29 -06:00
parent d4d6a4c691
commit 4f071d081a
5 changed files with 119 additions and 24 deletions

View File

@ -3,6 +3,7 @@ public class Asiento {
private int y; private int y;
private String zona; private String zona;
private boolean disponibilidad; private boolean disponibilidad;
private int id;
public Asiento(int x, int y, String zona, boolean disponibilidad) { public Asiento(int x, int y, String zona, boolean disponibilidad) {
this.x = x; this.x = x;
@ -11,6 +12,14 @@ public class Asiento {
this.disponibilidad = disponibilidad; this.disponibilidad = disponibilidad;
} }
public Asiento(int id, int x, int y, String zona, boolean disponibilidad){
this.id = id;
this.x = x;
this.y = y;
this.zona = zona;
this.disponibilidad = disponibilidad;
}
public int getX() { public int getX() {
return x; return x;
} }

View File

@ -0,0 +1,18 @@
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class GestiónBotónSeleccionarSala implements ItemListener {
SeleccionarAsientoV ventana;
public GestiónBotónSeleccionarSala(SeleccionarAsientoV ventana) {
this.ventana = ventana;
}
@Override
public void itemStateChanged(ItemEvent e) {
String seleccion = ventana.salas.getSelectedItem().toString();
ventana.obtenerAsientos(Integer.valueOf(seleccion));
ventana.actualizarCeldas();
}
}

View File

@ -31,24 +31,14 @@ public class SeleccionarAsientoV extends JPanel {
private Asiento [][] asientos; private Asiento [][] asientos;
List<Asiento> asientosSeleccionados = new ArrayList<Asiento>(); List<Asiento> asientosSeleccionados = new ArrayList<Asiento>();
public SeleccionarAsientoV(Asiento [][] parAsientos) throws HeadlessException {
this.setLayout(new BorderLayout());
asientos = parAsientos;
agregarComponentes();
añadirListeners();
crearCeldas(7,10);
}
public SeleccionarAsientoV() throws HeadlessException { public SeleccionarAsientoV() throws HeadlessException {
this.setLayout(new BorderLayout()); this.setLayout(new BorderLayout());
llenarAsientos(); //llenarAsientos();
obtenerAsientos(1);
agregarComponentes(); agregarComponentes();
añadirListeners();
crearCeldas(7,10); crearCeldas(7,10);
} }
@ -58,6 +48,7 @@ public class SeleccionarAsientoV extends JPanel {
pSuperior.add(lSeleccionar); pSuperior.add(lSeleccionar);
pSuperior.add(this.cbSalas); pSuperior.add(this.cbSalas);
this.llenarSalas(); this.llenarSalas();
cbSalas.addItemListener(new GestiónBotónSeleccionarSala(this));
pInferior.add(this.lTotal); pInferior.add(this.lTotal);
pInferior.add(this.bSeleccionar); pInferior.add(this.bSeleccionar);
@ -66,10 +57,6 @@ public class SeleccionarAsientoV extends JPanel {
this.add(pInferior,BorderLayout.SOUTH); this.add(pInferior,BorderLayout.SOUTH);
} }
public void llenarSalas(){
}
public void crearCeldas(int parX, int parY){ public void crearCeldas(int parX, int parY){
GridBagConstraints con = new GridBagConstraints(); GridBagConstraints con = new GridBagConstraints();
@ -118,10 +105,32 @@ public class SeleccionarAsientoV extends JPanel {
this.add(pSala,BorderLayout.CENTER); this.add(pSala,BorderLayout.CENTER);
} }
public void añadirListeners(){ public void actualizarCeldas(){
//bRegresar.addActionListener(new GestiónBotónCambiarVentana(this,new ventana2().panelV2)); String zona;
for(int i = 0; i < 7; i++){
for(int j = 0; j < 10; j ++){
if( ( (j >= 2) && (j <= 7) ) && ( (i >= 2) && (i <= 6) ) ){
bAsientos[i][j].setBackground(Color.PINK);
zona = "A";
bAsientos[i][j].setText("200$");
}
if( ((i == 1) && (j > 0) && (j < 9)) || ((j == 1) && (i > 0)) || ((j == 8) && (i > 0)) ){
bAsientos[i][j].setBackground(Color.ORANGE);
zona = "B";
bAsientos[i][j].setText("130$");
}
if( (i == 0) || (j == 0) || (j == 9)){
bAsientos[i][j].setBackground(Color.YELLOW);
zona = "C";
bAsientos[i][j].setText("65$");
}
if(asientos[i][j].isDisponibilidad()){
bAsientos[i][j].setBackground(Color.DARK_GRAY);
bAsientos[i][j].setText("ND");
}
}
}
} }
public void llenarAsientos(){ public void llenarAsientos(){
asientos = new Asiento[7][10]; asientos = new Asiento[7][10];
String zona = ""; String zona = "";
@ -191,13 +200,72 @@ public class SeleccionarAsientoV extends JPanel {
lTotal.setText("Total: " + total + "$"); lTotal.setText("Total: " + total + "$");
} }
public void obtenerDatos(){ public void obtenerAsientos(int salaSeleccionada){
ConexionBD con = new ConexionBD(); Connection conexion = null;
Connection connection;
PreparedStatement ps;
ResultSet rs; ResultSet rs;
Statement st; Statement st;
String consulta = "SELECT * FROM ASIENTOS WHERE idFkZona INNER JOIN"; String consulta = "SELECT disponibilidad, ubicacion, idAsiento FROM asientos WHERE fksala = "+salaSeleccionada;
asientos = new Asiento[7][10];
String zona = "";
try {
conexion = ConexionBD.getConnection();
st = conexion.createStatement();
rs = st.executeQuery(consulta);
while(rs.next()){
String isDisponible = String.valueOf(rs.getShort("disponibilidad"));
boolean disponibilidad = false;
if(isDisponible.equals("0")){
disponibilidad = true;
}
int i = Character.getNumericValue(rs.getString("ubicacion").charAt(0));
int j = Character.getNumericValue(rs.getString("ubicacion").charAt(2));
int id = rs.getInt("idAsiento");
if( ( (j >= 2) && (j <= 7) ) && ( (i >= 2) && (i <= 6) ) ){
zona = "A";
}
if( ((i == 1) && (j > 0) && (j < 9)) || ((j == 1) && (i > 0)) || ((j == 8) && (i > 0)) ){
zona = "B";
}
if( (i == 0) || (j == 0) || (j == 9)){
zona = "C";
}
Asiento aux = new Asiento(id,i,j,zona,disponibilidad);
asientos[i][j] = aux;
}
conexion.close();
} catch (SQLException e) {
throw new RuntimeException(e);
} }
} }
public void llenarSalas() {
Connection conexion = null;
ResultSet rs;
Statement st;
String consulta = "SELECT idSala FROM sala";
try {
conexion = ConexionBD.getConnection();
st = conexion.createStatement();
rs = st.executeQuery(consulta);
while(rs.next()){
salas.addElement(rs.getInt("idSala"));
}
conexion.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}