Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Acceso a Datos
ACTIVIDAD 2 JDBC.
En esta actividad pasaremos a trabajar con una aplicación que va a hacer uso de
dos tablas. Las tablas a crear serán las siguientes:
CLIENTES ESTÁNDAR
- Dni
- Nombre
- Apellidos
- Direccion
- Correo electrónico
- Teléfono
- Saldo
CLIENTES PREMIUM
- Dni
- Número Tarjeta Premium
- Nombre
– Apellidos
- Direccion
- Correo electrónico
- Teléfono
- Saldo
- Año Finalización Premium
package pkg2019_03_11_jdbc2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
public Ventana() {
initComponents();
//título
this.setTitle("CLIENTES");
//centrar pantalla
this.setLocationRelativeTo(null);
//para no poder redimensionar
this.setResizable(false);
//al cerrar desde la X
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
Botón conectar
if (reg == null) {
JOptionPane.showMessageDialog(null, "Conexion NO establecida...");
} else {
String[] dato = new String[9];//variable array para almacenar datos de la consulta
Statement st = reg.createStatement();//crea un objeto Statement para pasar sentencias SQL a la base de
datos
String sentencia = "select * from premium;";//consulta SQL
ResultSet rs = st.executeQuery(sentencia);//almaceno resultado de consulta en ResultSet
while (rs.next()) {//bucle mientras hayan datos
//Si hay resultados obtengo el valor
dato[0] = rs.getString(1);
dato[1] = rs.getString(2);
dato[2] = rs.getString(3);
dato[3] = rs.getString(4);
dato[4] = rs.getString(5);
dato[5] = rs.getString(6);
dato[6] = rs.getString(7);
dato[7] = rs.getString(8);
dato[8] = rs.getString(9);
model.addRow(dato);
}
}
} catch (SQLException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
while (rs.next()) {
DefaultTableModel model = new DefaultTableModel();
model.addColumn("DNI");
model.addColumn("NOMBRE");
model.addColumn("APELLIDOS");
model.addColumn("DIRECCIÓN");
model.addColumn("EMAIL");
model.addColumn("TFNO");
model.addColumn("SALDO");
tabla.setModel(model);
tabla.removeAll();
dato[0] = rs.getString(1);
dato[1] = rs.getString(2);
dato[2] = rs.getString(3);
dato[3] = rs.getString(4);
dato[4] = rs.getString(5);
dato[5] = rs.getString(6);
dato[6] = rs.getString(7);
model.addRow(dato);
txtMuestra.setText("");//muestra en txt si es estándar
txtMuestra.setText("ESTANDAR");
}
while (rs2.next()) {
DefaultTableModel model = new DefaultTableModel();
model.addColumn("DNI");
model.addColumn("NºPREMIUM");
model.addColumn("NOMBRE");
model.addColumn("APELLIDOS");
model.addColumn("DIRECCIÓN");
model.addColumn("EMAIL");
model.addColumn("TFNO");
model.addColumn("SALDO");
model.addColumn("FINALIZA PREMIUM");
tabla.setModel(model);
tabla.removeAll();
dato2[0] = rs2.getString(1);
dato2[1] = rs2.getString(2);
dato2[2] = rs2.getString(3);
dato2[3] = rs2.getString(4);
dato2[4] = rs2.getString(5);
dato2[5] = rs2.getString(6);
dato2[6] = rs2.getString(7);
dato2[7] = rs2.getString(8);
dato2[8] = rs2.getString(9);
model.addRow(dato2);
txtMuestra.setText("");//muestra en el txt si es premium
txtMuestra.setText("PREMIUM");
}
} else {
JOptionPane.showMessageDialog(null, "Introduce DNI para la busqueda");
}
} catch (SQLException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
Botón para añadir saldo y los usuarios estándar pasan a premium si superan los 10000
Statement st = reg.createStatement();
String sentencia = "select * from estandar where dni ='" + txtDni.getText() + "';";
ResultSet rs = st.executeQuery(sentencia);
while (rs.next()) {
float dato = rs.getFloat(7);
float dato2 = Float.parseFloat(txtCantidad.getText());
float suma = dato + dato2;
Botón para retirar saldo y los usuarios premium pasan a estándar si bajan de los 10000
Statement st = reg.createStatement();
String sentencia = "select saldo from estandar where dni ='" + txtDni.getText() + "';";
ResultSet rs = st.executeQuery(sentencia);
Statement st2 = reg.createStatement();
String sentencia2 = "select * from premium where dni ='" + txtDni.getText() + "';";
ResultSet rs2 = st2.executeQuery(sentencia2);
while (rs.next()) {
float dato = rs.getFloat(1);
float dato2 = Float.parseFloat(txtCantidad.getText());
float resta = dato - dato2;
Variables
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
Connection reg;
} else {
JOptionPane.showMessageDialog(null, "Introduce DNI y dato a modificar");
}
} else {
JOptionPane.showMessageDialog(null, "Introduce DNI");
}
} catch (SQLException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
Connection reg;
} else {
JOptionPane.showMessageDialog(null, "Introduce DNI y dato a modificar");
}
} else {
JOptionPane.showMessageDialog(null, "Introduce DNI");
}
} catch (SQLException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Variables declaration - do not modify
private javax.swing.JButton btnEliminar;
private javax.swing.JButton btnIntro;
private javax.swing.JButton btnLimpiar;
private javax.swing.JButton btnModificar;
private javax.swing.JButton btnSalir;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JTextField txtApellido;
private javax.swing.JTextField txtDireccion;
private javax.swing.JTextField txtDni;
private javax.swing.JTextField txtEmail;
private javax.swing.JTextField txtFinaliza;
private javax.swing.JTextField txtNombre;
private javax.swing.JTextField txtSaldo;
private javax.swing.JTextField txtTarjeta;
private javax.swing.JTextField txtTfno;
// End of variables declaration
}