Java::Acceso a Bases de Datos

3,902 views

Published on

Published in: Education, Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,902
On SlideShare
0
From Embeds
0
Number of Embeds
2,131
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Java::Acceso a Bases de Datos

  1. 1. En esta práctica vamos a desarrollar una aplicación de gestión de alumnos (altas, bajas y modificaciones). Como parte de lainformación de los alumnos está: la clave (que debe ser única), el nombre, los apellidos, la edad y su dirección (consistenteen el nombre de la calle, el número y el código postal).El interfaz visual de la aplicación debe ser algo como un frame con tres pestañas. Los paneles de bajas y modificacionesmostrarán en un desplegable todas las claves de los alumnos dados de alta.La persistencia de los datos se hará en un Sistema Gestor de Base de Datos, que contará con una única tabla llamadaALUMNOS cuya definición es:  CLAVE: VARCHAR(4).  NOMBRE: VARCHAR(10).  APELLIDOS: VARCHAR(20).  EDAD: INTEGER.  CALLE: VARCHAR(20).  NUMERO: INTEGER.  CODIGO: VARCHAR(5). bitCoach::Juan Bautista Cascallar Lorenzo
  2. 2. Direccion.javaimport java.io.Serializable;public class Direccion implements Serializable { private static final long serialVersionUID = 1L; //ATRIBUTOS private String calle; private String numero; private String codPostal; //Constructor public Direccion(String calle, String numero, String codPostal){ this.calle = calle; this.numero = numero; this.codPostal = codPostal; } //GETTERS public String getCalle(){ return calle; } public String getNumero(){ return numero; } public String getCodPostal(){ return codPostal; } //SETTERS public void setCalle(String calle){ this.calle = calle; } public void setNumero(String numero){ this.numero = numero; } public void setCodPostal(String codPostal){ this.codPostal = codPostal; }}Alumno.javaimport java.io.Serializable;public class Alumno implements Serializable { private static final long serialVersionUID = 1L; //ATRIBUTOS //--- Datos Personales --- private String clave; //DNI private String nombre; private String apellidos; private String edad; //--- Dirección --- private Direccion direccion; bitCoach::Juan Bautista Cascallar Lorenzo
  3. 3. public Alumno(String clave, String nombre, String apellidos, String edad, String calle, String numero, String codPostal){ this.clave = clave; this.nombre = nombre; this.apellidos = apellidos; direccion = new Direccion(calle, numero, codPostal); } //GETTERS public String getClave(){ return clave; } public String getNombre(){ return nombre; } public String getApellidos(){ return apellidos; } public String getEdad(){ return edad; } public Direccion getDireccion(){ return direccion; } //SETTERS public void setClave(String clave){ this.clave = clave; } public void setNombre(String nombre){ this.nombre = nombre; } public void setApellidos(String apellidos){ this.apellidos = apellidos; } public void setEdad(String edad){ this.edad = edad; }}conexionDDBB.javaimport java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class conexionDDBB { //ATRIBUTOS private Connection con = null; //CONSTRUCTOR public conexionDDBB(){ try { Class.forName("com.mysql.jdbc.Driver"); try { con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/UNIVERSIDAD","root",""); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } bitCoach::Juan Bautista Cascallar Lorenzo
  4. 4. //GETTERS public Connection getConexion(){ return con; } //OTROS MÉTODOS public void cerrarConexion(){ try { con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}gestorAlumnos.javaimport java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;//------import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTabbedPane;import javax.swing.JTextField;import javax.swing.border.TitledBorder;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;public class gestorAlumnos extends JFrame implements ActionListener,WindowListener,ChangeListener { private static final long serialVersionUID = 1L; //ATRIBUTOS Connection con = null; //--- Altas --- JTextField txt_clave_altas = null; JTextField txt_nombre_altas = null; JTextField txt_apellidos_altas = null; JTextField txt_edad_altas = null; JTextField txt_calle_altas = null; JTextField txt_numero_altas = null; JTextField txt_codpostal_altas = null; //--- Bajas --- JComboBox combo_bajas = null; JTextField txt_clave_bajas = null; JTextField txt_nombre_bajas = null; JTextField txt_apellidos_bajas = null; JTextField txt_edad_bajas = null; JTextField txt_calle_bajas = null; JTextField txt_numero_bajas = null; JTextField txt_codpostal_bajas = null; //--- Modificaciones --- JComboBox combo_modif = null; JTextField txt_clave_modif = null; JTextField txt_nombre_modif = null; bitCoach::Juan Bautista Cascallar Lorenzo
  5. 5. JTextField txt_apellidos_modif = null; JTextField txt_edad_modif = null; JTextField txt_calle_modif = null; JTextField txt_numero_modif = null; JTextField txt_codpostal_modif = null; //CONSTRUCTOR public gestorAlumnos(){//=========== INTERFAZ GRÁFICA ======================================= this.setTitle("Gestión de Alumnos"); this.setSize(300, 400); //--- Pestañas --- JTabbedPane obj_tabbedPane = new JTabbedPane(); obj_tabbedPane.setName("obj_tabbedPane"); JPanel panel1 = new JPanel(); panel1.setLayout(null); obj_tabbedPane.addTab("Altas", panel1); JPanel panel2 = new JPanel(); panel2.setLayout(null); obj_tabbedPane.addTab("Bajas", panel2); JPanel panel3 = new JPanel(); panel3.setLayout(null); obj_tabbedPane.addTab("Modificaciones", panel3); this.getContentPane().add(obj_tabbedPane); obj_tabbedPane.addChangeListener(this); //--- Menú --- JMenuBar barraMenu = new JMenuBar(); JMenu menu1 = new JMenu("Fichero"); JMenuItem salvar= new JMenuItem("Salvar"); salvar.setName("btn_salvar"); salvar.addActionListener(this); menu1.add(salvar); JMenuItem salir = new JMenuItem("Salir"); salir.setName("btn_salir"); salir.addActionListener(this); menu1.add(salir); barraMenu.add(menu1); this.setJMenuBar(barraMenu); //======= PESTAÑA ALTAS ======== //- Datos Personales - TitledBorder tb_altas = new TitledBorder("Datos personales:"); JLabel etiquetaBorde_altas = new JLabel(); etiquetaBorde_altas.setBorder(tb_altas); etiquetaBorde_altas.setBounds(10, 10, 260, 110); panel1.add(etiquetaBorde_altas); JLabel lbl_clave_altas = new JLabel(); lbl_clave_altas.setBounds(20, 30, 70, 20); lbl_clave_altas.setText("Clave:"); panel1.add(lbl_clave_altas); txt_clave_altas = new JTextField(); txt_clave_altas.setName("txt_clave_altas"); txt_clave_altas.setBounds(110, 30, 150, 20); panel1.add(txt_clave_altas); JLabel lbl_nombre_altas = new JLabel(); lbl_nombre_altas.setBounds(20, 10+20*2, 70, 20); lbl_nombre_altas.setText("Nombre:"); panel1.add(lbl_nombre_altas); txt_nombre_altas = new JTextField(); txt_nombre_altas.setName("txt_nombre_altas"); txt_nombre_altas.setBounds(110, 10+ 20*2, 150, 20); panel1.add(txt_nombre_altas); JLabel lbl_apellidos_altas = new JLabel(); lbl_apellidos_altas.setBounds(20, 10+20*3, 70, 20); lbl_apellidos_altas.setText("Apellidos:"); panel1.add(lbl_apellidos_altas); txt_apellidos_altas = new JTextField(); txt_apellidos_altas.setName("txt_apellidos_altas"); bitCoach::Juan Bautista Cascallar Lorenzo
  6. 6. txt_apellidos_altas.setBounds(110, 10+20*3, 150, 20);panel1.add(txt_apellidos_altas);JLabel lbl_edad_altas = new JLabel();lbl_edad_altas.setBounds(20, 10+20*4, 70, 20);lbl_edad_altas.setText("Edad:");panel1.add(lbl_edad_altas);txt_edad_altas = new JTextField();txt_edad_altas.setName("txt_edad_altas");txt_edad_altas.setBounds(110, 10+20*4, 150, 20);panel1.add(txt_edad_altas);//- Dirección -TitledBorder tbD_altas = new TitledBorder("Dirección:");JLabel etiquetaBordeD_altas = new JLabel();etiquetaBordeD_altas.setBorder(tbD_altas);etiquetaBordeD_altas.setBounds(10, 130, 260, 90);panel1.add(etiquetaBordeD_altas);JLabel lbl_calle_altas = new JLabel();lbl_calle_altas.setBounds(20, 150, 70, 20);lbl_calle_altas.setText("Calle:");panel1.add(lbl_calle_altas);txt_calle_altas = new JTextField();txt_calle_altas.setName("txt_calle_altas");txt_calle_altas.setBounds(110, 150, 150, 20);panel1.add(txt_calle_altas);JLabel lbl_numero_altas = new JLabel();lbl_numero_altas.setBounds(20, 150+20*1, 70, 20);lbl_numero_altas.setText("Número:");panel1.add(lbl_numero_altas);txt_numero_altas = new JTextField();txt_numero_altas.setName("txt_numero_altas");txt_numero_altas.setBounds(110, 150+ 20*1, 150, 20);panel1.add(txt_numero_altas);JLabel lbl_codpostal_altas = new JLabel();lbl_codpostal_altas.setBounds(20, 150+20*2, 70, 20);lbl_codpostal_altas.setText("Cód. Postal:");panel1.add(lbl_codpostal_altas);txt_codpostal_altas = new JTextField();txt_codpostal_altas.setName("txt_codpostal_altas");txt_codpostal_altas.setBounds(110, 150+ 20*2, 150, 20);panel1.add(txt_codpostal_altas);//- Botones --JButton btn_limpiar_altas = new JButton("Limpiar");btn_limpiar_altas.setName("btn_limpiar_altas");btn_limpiar_altas.addActionListener(this);btn_limpiar_altas.setBounds(40, 240, 80, 20);panel1.add(btn_limpiar_altas);JButton btn_daralta_altas = new JButton("Dar de alta");btn_daralta_altas.setName("btn_daralta_altas");btn_daralta_altas.addActionListener(this);btn_daralta_altas.setBounds(140, 240, 100, 20);panel1.add(btn_daralta_altas);//======= PESTAÑA ALTAS ========//======= PESTAÑA BAJAS ========//-- Alumnos - Combo ClaveTitledBorder tb_bajas_clave = new TitledBorder("Alumnos:");JLabel etiquetaBorde_bajas_combo = new JLabel();etiquetaBorde_bajas_combo.setBorder(tb_bajas_clave);etiquetaBorde_bajas_combo.setBounds(10, 10, 260, 50);panel2.add(etiquetaBorde_bajas_combo);JLabel lbl_clave_bajas_combo = new JLabel();lbl_clave_bajas_combo.setBounds(20, 30, 70, 20);lbl_clave_bajas_combo.setText("Clave:");panel2.add(lbl_clave_bajas_combo);combo_bajas = new JComboBox();combo_bajas.setName("combo_bajas");combo_bajas.addActionListener(this);combo_bajas.setBounds(110, 30, 150, 20);panel2.add(combo_bajas); bitCoach::Juan Bautista Cascallar Lorenzo
  7. 7. //- Datos Personales -TitledBorder tb_bajas = new TitledBorder("Datos personales:");JLabel etiquetaBorde_bajas = new JLabel();etiquetaBorde_bajas.setBorder(tb_bajas);etiquetaBorde_bajas.setBounds(10, 60, 260, 110);panel2.add(etiquetaBorde_bajas);JLabel lbl_clave_bajas = new JLabel();lbl_clave_bajas.setBounds(20, 80, 70, 20);lbl_clave_bajas.setText("Clave:");panel2.add(lbl_clave_bajas);txt_clave_bajas = new JTextField();txt_clave_bajas.setEditable(false);txt_clave_bajas.setName("txt_clave_bajas");txt_clave_bajas.setBounds(110, 80, 150, 20);panel2.add(txt_clave_bajas);JLabel lbl_nombre_bajas = new JLabel();lbl_nombre_bajas.setBounds(20, 60+20*2, 70, 20);lbl_nombre_bajas.setText("Nombre:");panel2.add(lbl_nombre_bajas);txt_nombre_bajas = new JTextField();txt_nombre_bajas.setEditable(false);txt_nombre_bajas.setName("txt_nombre_bajas");txt_nombre_bajas.setBounds(110, 60+ 20*2, 150, 20);panel2.add(txt_nombre_bajas);JLabel lbl_apellidos_bajas = new JLabel();lbl_apellidos_bajas.setBounds(20, 60+20*3, 70, 20);lbl_apellidos_bajas.setText("Apellidos:");panel2.add(lbl_apellidos_bajas);txt_apellidos_bajas = new JTextField();txt_apellidos_bajas.setEditable(false);txt_apellidos_bajas.setName("txt_apellidos_bajas");txt_apellidos_bajas.setBounds(110, 60+20*3, 150, 20);panel2.add(txt_apellidos_bajas);JLabel lbl_edad_bajas = new JLabel();lbl_edad_bajas.setBounds(20, 60+20*4, 70, 20);lbl_edad_bajas.setText("Edad:");panel2.add(lbl_edad_bajas);txt_edad_bajas = new JTextField();txt_edad_bajas.setEditable(false);txt_edad_bajas.setName("txt_edad_bajas");txt_edad_bajas.setBounds(110, 60+20*4, 150, 20);panel2.add(txt_edad_bajas);//- Dirección -TitledBorder tbD_bajas = new TitledBorder("Dirección:");JLabel etiquetaBordeD_bajas = new JLabel();etiquetaBordeD_bajas.setBorder(tbD_bajas);etiquetaBordeD_bajas.setBounds(10, 170, 260, 90);panel2.add(etiquetaBordeD_bajas);JLabel lbl_calle_bajas = new JLabel();lbl_calle_bajas.setBounds(20, 190, 70, 20);lbl_calle_bajas.setText("Calle:");panel2.add(lbl_calle_bajas);txt_calle_bajas = new JTextField();txt_calle_bajas.setEditable(false);txt_calle_bajas.setName("txt_calle_bajas");txt_calle_bajas.setBounds(110, 190, 150, 20);panel2.add(txt_calle_bajas);JLabel lbl_numero_bajas = new JLabel();lbl_numero_bajas.setBounds(20, 190+20*1, 70, 20);lbl_numero_bajas.setText("Número:");panel2.add(lbl_numero_bajas);txt_numero_bajas = new JTextField();txt_numero_bajas.setEditable(false);txt_numero_bajas.setName("txt_numero_bajas");txt_numero_bajas.setBounds(110, 190+ 20*1, 150, 20);panel2.add(txt_numero_bajas);JLabel lbl_codpostal_bajas = new JLabel();lbl_codpostal_bajas.setBounds(20, 190+20*2, 70, 20);lbl_codpostal_bajas.setText("Cód. Postal:");panel2.add(lbl_codpostal_bajas);txt_codpostal_bajas = new JTextField(); bitCoach::Juan Bautista Cascallar Lorenzo
  8. 8. txt_codpostal_bajas.setEditable(false);txt_codpostal_bajas.setName("txt_codpostal_bajas");txt_codpostal_bajas.setBounds(110, 190+ 20*2, 150, 20);panel2.add(txt_codpostal_bajas);//- Botones --JButton btn_dardebaja_bajas = new JButton("Dar de baja");btn_dardebaja_bajas.setName("btn_darbaja_bajas");btn_dardebaja_bajas.addActionListener(this);btn_dardebaja_bajas.setBounds(50, 280, 180, 20);panel2.add(btn_dardebaja_bajas);//======= PESTAÑA BAJAS ========//======= PESTAÑA MODIFICACIONES ========//-- Alumnos - Combo ClaveTitledBorder tb_modif_clave = new TitledBorder("Alumnos:");JLabel etiquetaBorde_modif_combo = new JLabel();etiquetaBorde_modif_combo.setBorder(tb_modif_clave);etiquetaBorde_modif_combo.setBounds(10, 10, 260, 50);panel3.add(etiquetaBorde_modif_combo);JLabel lbl_clave_modif_combo = new JLabel();lbl_clave_modif_combo.setBounds(20, 30, 70, 20);lbl_clave_modif_combo.setText("Clave:");panel3.add(lbl_clave_modif_combo);combo_modif = new JComboBox();combo_modif.setName("combo_modif");combo_modif.addActionListener(this);combo_modif.setBounds(110, 30, 150, 20);panel3.add(combo_modif);//- Datos Personales -TitledBorder tb_modif = new TitledBorder("Datos personales:");JLabel etiquetaBorde_modif = new JLabel();etiquetaBorde_modif.setBorder(tb_modif);etiquetaBorde_modif.setBounds(10, 60, 260, 110);panel3.add(etiquetaBorde_modif);JLabel lbl_clave_modif = new JLabel();lbl_clave_modif.setBounds(20, 80, 70, 20);lbl_clave_modif.setText("Clave:");panel3.add(lbl_clave_modif);txt_clave_modif = new JTextField();txt_clave_modif.setName("txt_clave_modif");txt_clave_modif.setBounds(110, 80, 150, 20);txt_clave_modif.setEditable(false);panel3.add(txt_clave_modif);JLabel lbl_nombre_modif = new JLabel();lbl_nombre_modif.setBounds(20, 60+20*2, 70, 20);lbl_nombre_modif.setText("Nombre:");panel3.add(lbl_nombre_modif);txt_nombre_modif = new JTextField();txt_nombre_modif.setName("txt_nombre_modif");txt_nombre_modif.setBounds(110, 60+ 20*2, 150, 20);panel3.add(txt_nombre_modif);JLabel lbl_apellidos_modif = new JLabel();lbl_apellidos_modif.setBounds(20, 60+20*3, 70, 20);lbl_apellidos_modif.setText("Apellidos:");panel3.add(lbl_apellidos_modif);txt_apellidos_modif = new JTextField();txt_apellidos_modif.setName("txt_apellidos_modif");txt_apellidos_modif.setBounds(110, 60+20*3, 150, 20);panel3.add(txt_apellidos_modif);JLabel lbl_edad_modif = new JLabel();lbl_edad_modif.setBounds(20, 60+20*4, 70, 20);lbl_edad_modif.setText("Edad:");panel3.add(lbl_edad_modif);txt_edad_modif = new JTextField();txt_edad_modif.setName("txt_edad_modif");txt_edad_modif.setBounds(110, 60+20*4, 150, 20);panel3.add(txt_edad_modif);//- Dirección -TitledBorder tbD_modif = new TitledBorder("Dirección:"); bitCoach::Juan Bautista Cascallar Lorenzo
  9. 9. JLabel etiquetaBordeD_modif = new JLabel(); etiquetaBordeD_modif.setBorder(tbD_modif); etiquetaBordeD_modif.setBounds(10, 170, 260, 90); panel3.add(etiquetaBordeD_modif); JLabel lbl_calle_modif = new JLabel(); lbl_calle_modif.setBounds(20, 190, 70, 20); lbl_calle_modif.setText("Calle:"); panel3.add(lbl_calle_modif); txt_calle_modif = new JTextField(); txt_calle_modif.setName("txt_calle_modif"); txt_calle_modif.setBounds(110, 190, 150, 20); panel3.add(txt_calle_modif); JLabel lbl_numero_modif = new JLabel(); lbl_numero_modif.setBounds(20, 190+20*1, 70, 20); lbl_numero_modif.setText("Número:"); panel3.add(lbl_numero_modif); txt_numero_modif = new JTextField(); txt_numero_modif.setName("txt_numero_modif"); txt_numero_modif.setBounds(110, 190+ 20*1, 150, 20); panel3.add(txt_numero_modif); JLabel lbl_codpostal_modif = new JLabel(); lbl_codpostal_modif.setBounds(20, 190+20*2, 70, 20); lbl_codpostal_modif.setText("Cód. Postal:"); panel3.add(lbl_codpostal_modif); txt_codpostal_modif = new JTextField(); txt_codpostal_modif.setName("txt_codpostal_modif"); txt_codpostal_modif.setBounds(110, 190+ 20*2, 150, 20); panel3.add(txt_codpostal_modif); //- Botones -- JButton btn_dardebaja_modif = new JButton("Modificar"); btn_dardebaja_modif.setName("btn_actualizar_modif"); btn_dardebaja_modif.addActionListener(this); btn_dardebaja_modif.setBounds(50, 280, 180, 20); panel3.add(btn_dardebaja_modif); //======= PESTAÑA MODIFICACIONES ======== this.setVisible(true);//=========== INTERFAZ GRÁFICA ======================================= conexionDDBB obj_conexion = new conexionDDBB(); this.con = obj_conexion.getConexion(); } //FUNCIONES private void limpiar_cajas_altas(){ //--- Datos personales --- txt_clave_altas.setText(""); txt_nombre_altas.setText(""); txt_apellidos_altas.setText(""); txt_edad_altas.setText(""); //--- Dirección --- txt_calle_altas.setText(""); txt_numero_altas.setText(""); txt_codpostal_altas.setText(""); } private void limpiar_cajas_bajas(){ //--- Datos personales --- txt_clave_bajas.setText(""); txt_nombre_bajas.setText(""); txt_apellidos_bajas.setText(""); txt_edad_bajas.setText(""); //--- Dirección --- txt_calle_bajas.setText(""); txt_numero_bajas.setText(""); txt_codpostal_bajas.setText(""); } bitCoach::Juan Bautista Cascallar Lorenzo
  10. 10. private void limpiar_cajas_modif(){ //--- Datos personales --- txt_clave_modif.setText(""); txt_nombre_modif.setText(""); txt_apellidos_modif.setText(""); txt_edad_modif.setText(""); //--- Dirección --- txt_calle_modif.setText(""); txt_numero_modif.setText(""); txt_codpostal_modif.setText(""); } private void alta_registro(){ if(txt_clave_altas.getText().isEmpty()){ JOptionPane.showMessageDialog(this, "Campo clave vacío...."); }else{ try { PreparedStatement pstmt = con.prepareStatement("select clave from alumnos"); ResultSet rs = pstmt.executeQuery(); //--- Comprobar clave duplicada --- boolean duplicada = false; while(rs.next()){ if(txt_clave_altas.getText().equals(rs.getString("clave"))){ duplicada = true; JOptionPane.showMessageDialog(this, "Clave duplicada..."); break; } } if(duplicada == false){ //Añadir el nuevo registro... String consulta = "INSERT INTO alumnos " + " (clave, nombre, apellidos, edad, calle, numero, codigo) VALUES" + "(" + this.txt_clave_altas.getText() + "," +this.txt_nombre_altas.getText() + "," + this.txt_apellidos_altas.getText() + "," + Integer.parseInt(this.txt_edad_altas.getText()) + "," + this.txt_calle_altas.getText() + "," + Integer.parseInt(this.txt_numero_altas.getText()) + "," + this.txt_codpostal_altas.getText() + ")"; pstmt = con.prepareStatement(consulta); pstmt.executeUpdate(); this.limpiar_cajas_altas(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }//Fin function private void actualizar_combo(String str_combo){ try { PreparedStatement pstmt = con.prepareStatement("select clave from alumnos"); ResultSet rs = pstmt.executeQuery(); if(str_combo.equals("combo_bajas")){ combo_bajas.removeAllItems(); while(rs.next()){ combo_bajas.addItem(rs.getString(1)); } if(combo_bajas.getItemCount() != 0){ //--- mostrar_registro_bajas_por_clave((String) combo_bajas.getSelectedItem()); } }else{ combo_modif.removeAllItems(); while(rs.next()){ combo_modif.addItem(rs.getString(1)); } bitCoach::Juan Bautista Cascallar Lorenzo
  11. 11. if(combo_bajas.getItemCount() != 0){ //--- mostrar_registro_modif_por_clave((String) combo_modif.getSelectedItem()); }else{ limpiar_cajas_modif(); } } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }//fin function private void mostrar_registro_bajas_por_clave(String clave){ if(clave != null){ try { PreparedStatement pstmt = con.prepareStatement("select * from alumnos where clave = "+ clave + ""); ResultSet rs = pstmt.executeQuery(); rs.next(); //--- Datos personales --- txt_clave_bajas.setText(rs.getString("clave")); txt_nombre_bajas.setText(rs.getString("nombre")); txt_apellidos_bajas.setText(rs.getString("apellidos")); txt_edad_bajas.setText(rs.getString("edad")); //--- Dirección --- txt_calle_bajas.setText(rs.getString("calle")); txt_numero_bajas.setText(rs.getString("numero")); txt_codpostal_bajas.setText(rs.getString("codigo")); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }else{ limpiar_cajas_bajas(); } } private void mostrar_registro_modif_por_clave(String clave){ if(clave != null){ try { PreparedStatement pstmt = con.prepareStatement("select * from alumnos where clave = "+ clave + ""); ResultSet rs = pstmt.executeQuery(); rs.next(); //--- Datos personales --- txt_clave_modif.setText(rs.getString("clave")); txt_nombre_modif.setText(rs.getString("nombre")); txt_apellidos_modif.setText(rs.getString("apellidos")); txt_edad_modif.setText(rs.getString("edad")); //--- Dirección --- txt_calle_modif.setText(rs.getString("calle")); txt_numero_modif.setText(rs.getString("numero")); txt_codpostal_modif.setText(rs.getString("codigo")); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } private void dardebaja_alumno_por_clave(String clave){ if(clave != null){ String consulta = "delete from alumnos where clave = " + clave + ""; try { bitCoach::Juan Bautista Cascallar Lorenzo
  12. 12. String mensaje = "¿Borrar alumno: " + clave + "?"; String titulo = "Confirmación de Borrado"; int respuesta = JOptionPane.showConfirmDialog(this,mensaje,titulo, JOptionPane.YES_NO_OPTION); if(respuesta == JOptionPane.YES_OPTION){ //SI->0,NO->1,X->-1 PreparedStatement pstmt = con.prepareStatement(consulta); pstmt.executeUpdate(); actualizar_combo(this.combo_bajas.getName()); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}//Fin functionprivate void actualizar_alumno_por_clave(String clave){ if(clave != null){ String consulta = "update alumnos set nombre = " + this.txt_nombre_modif.getText() + ", apellidos = " + this.txt_apellidos_modif.getText() + ", edad = " + Integer.parseInt(this.txt_edad_modif.getText()) + ", calle = " + this.txt_calle_modif.getText() + ", numero = " + Integer.parseInt(this.txt_numero_modif.getText()) + ", codigo = " + this.txt_codpostal_modif.getText() + " where clave = " + clave + ""; try { PreparedStatement pstmt = con.prepareStatement(consulta); pstmt.executeUpdate(); actualizar_combo(this.combo_modif.getName()); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}//Fin function//--- EVENTOS ---@Overridepublic void stateChanged(ChangeEvent e) { // TODO Auto-generated method stub Object control = e.getSource(); if(control instanceof JTabbedPane){ if(((JTabbedPane) control).getName().equals("obj_tabbedPane")){ int pestana = ((JTabbedPane) control).getSelectedIndex(); switch(pestana){ case 0: //--- He pulsado ALTAS --- this.limpiar_cajas_altas(); break; case 1: //--- He pulsado BAJAS --- actualizar_combo(this.combo_bajas.getName()); break; case 2: //--- He pulsado MODIFICACIONES --- actualizar_combo(this.combo_modif.getName()); break; } } }} bitCoach::Juan Bautista Cascallar Lorenzo
  13. 13. @Overridepublic void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub Object control = arg0.getSource(); if(control instanceof JMenuItem){ if(((JMenuItem) control).getName().equals("btn_salir")){ System.exit(0); } if(((JMenuItem) control).getName().equals("btn_salvar")){ } } if(control instanceof JButton){ //-- Altas -- if(((JButton) control).getName().equals("btn_limpiar_altas")){ this.limpiar_cajas_altas(); } if(((JButton) control).getName().equals("btn_daralta_altas")){ this.alta_registro(); } //-- Bajas -- if(((JButton) control).getName().equals("btn_darbaja_bajas")){ dardebaja_alumno_por_clave((String)combo_bajas.getSelectedItem()); } //-- Modificaciones -- if(((JButton) control).getName().equals("btn_actualizar_modif")){ actualizar_alumno_por_clave((String)combo_modif.getSelectedItem()); } } if(control instanceof JComboBox){ //-- Bajas -- if(((JComboBox) control).getName().equals("combo_bajas")){ mostrar_registro_bajas_por_clave((String) combo_bajas.getSelectedItem()); } //-- Modificaciones -- if(((JComboBox) control).getName().equals("combo_modif")){ mostrar_registro_modif_por_clave((String) combo_modif.getSelectedItem()); } }}@Overridepublic void windowActivated(WindowEvent arg0) { // TODO Auto-generated method stub}@Overridepublic void windowClosed(WindowEvent arg0) { // TODO Auto-generated method stub}@Overridepublic void windowClosing(WindowEvent arg0) { // TODO Auto-generated method stub System.exit(0);}@Overridepublic void windowDeactivated(WindowEvent arg0) { // TODO Auto-generated method stub}@Overridepublic void windowDeiconified(WindowEvent arg0) { // TODO Auto-generated method stub bitCoach::Juan Bautista Cascallar Lorenzo
  14. 14. } @Override public void windowIconified(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowOpened(WindowEvent arg0) { // TODO Auto-generated method stub }}TestGestorAlumnos.javapublic class TestGestorAlumnos { /** * @param args */ public static void main(String[] args) { //ATRIBUTOS gestorAlumnos GA = new gestorAlumnos(); }} bitCoach::Juan Bautista Cascallar Lorenzo

×