-   
-   
- import javax.swing.*; 
- import java.awt.event.*; 
- import java.awt.*; 
- import javax.swing.table.*; 
-   
- //DataBase Packages 
-   
- import java.net.*; 
- import java.io.*; 
- import java.sql.*; 
-   
- //Main Class 
-   
- class directorio_pacientes extends JFrame implements ActionListener 
- { 
-   private Statement st; 
-   private Connection con; 
-   
-   //List of Labels 
-   
-   private JLabel lblclave_anterior; 
-   private JLabel lblclave_paciente; 
-   private JLabel lblsexo; 
-   private JLabel lbledad; 
-   private JLabel lblnombre; 
-   private JLabel lbldireccion; 
-   private JLabel lbltelefono; 
-   
-   //List of TextFields 
-   
-   private JTextField txtclave_anterior; 
-   private JTextField txtclave_paciente; 
-   private JTextField txtsexo; 
-   private JTextField txtedad; 
-   private JTextField txtnombre; 
-   private JTextField txtdireccion; 
-   private JTextField txttelefono; 
-   
-   //List of Buttons 
-   
-   private JButton btnSaveAdd; 
-   private JButton btnSaveEdit; 
-   private JButton btnSaveDelete; 
-   private JButton btnAdd; 
-   private JButton btnEdit; 
-   private JButton btnDelete; 
-   private JButton btnExit; 
-   private JButton btnRefresh; 
-   private JButton btnCancel; 
-   
-   //List of Panel 
-   
-   private JPanel btnpanel; 
-   private JPanel panel; 
-   private JTable table; 
-   
-   //Table 
-   
-   private DefaultTableModel tmodel; 
-   
-   //Container 
-   
-   private Container cpane; 
-   
-   directorio_pacientes(int choice) 
-   { 
-     switch(choice) 
-     { 
-       case 1: 
-         //Initial Window 
-   
-         setTitle("DIRECTORIO DE PACIENTES"); 
-         setBounds(1, 200, 800, 230); 
-         setResizable(false); 
-   
-         //cotainer 
-   
-         cpane = getContentPane(); 
-   
-         //components 
-   
-         tmodel = new DefaultTableModel(); 
-         table = new JTable(tmodel); 
-         SetColHeader(); 
-   
-         btnpanel = new JPanel(new GridLayout(1, 5, 5, 0)); 
-         btnAdd = new JButton ("Agregar"); 
-         btnEdit = new JButton ("Modificar"); 
-         btnDelete = new JButton ("Eliminar"); 
-         btnRefresh = new JButton ("Actualizar"); 
-         btnExit = new JButton ("Salir"); 
-   
-         btnAdd.addActionListener(this); 
-         btnEdit.addActionListener(this); 
-         btnDelete.addActionListener(this); 
-         btnRefresh.addActionListener(this); 
-         btnExit.addActionListener(this); 
-   
-         btnpanel.add(btnAdd); 
-         btnpanel.add(btnEdit); 
-         btnpanel.add(btnDelete); 
-         btnpanel.add(btnRefresh); 
-         btnpanel.add(btnExit); 
-   
-         cpane.add(new JScrollPane(table)); 
-         cpane.add(btnpanel, BorderLayout.SOUTH); 
-         break; 
-       case 2: 
-         //Appending Window 
-   
-         setTitle("Agregado de datos..."); 
-         setBounds(200, 200, 500, 200); 
-         setResizable(false); 
-   
-         //cotainer 
-   
-         cpane = getContentPane(); 
-         cpane.setLayout(new FlowLayout()); 
-   
-         //Components 
-   
-         panel = new JPanel(new GridLayout(8, 1, 5, 0)); 
-   
-         lblclave_paciente = new JLabel(" Clave del paciente "); 
-         lblnombre = new JLabel(" Nombre del paciente "); 
-         lbldireccion = new JLabel(" Dirección "); 
-         lbltelefono = new JLabel(" Teléfono "); 
-         lbledad = new JLabel(" Edad "); 
-         lblsexo = new JLabel(" Sexo "); 
-   
-         txtclave_paciente = new JTextField(15); 
-         txtnombre = new JTextField(15); 
-         txtdireccion = new JTextField(15); 
-         txttelefono = new JTextField(15); 
-         txtedad = new JTextField(3); 
-         txtsexo = new JTextField(1); 
-   
-         panel.add(lblclave_paciente); 
-         panel.add(txtclave_paciente); 
-         panel.add(lblnombre); 
-         panel.add(txtnombre); 
-         panel.add(txtnombre); 
-         panel.add(lbldireccion); 
-         panel.add(txtdireccion); 
-         panel.add(lbltelefono); 
-         panel.add(txttelefono); 
-         panel.add(lbledad); 
-         panel.add(txtedad); 
-         panel.add(lblsexo); 
-         panel.add(txtsexo); 
-   
-         btnpanel = new JPanel(new GridLayout(2, 1, 10, 5)); 
-         btnSaveAdd = new JButton ("Guardar"); 
-         btnCancel = new JButton ("Cancelar"); 
-   
-         btnSaveAdd.addActionListener(this); 
-         btnCancel.addActionListener(this); 
-   
-         btnpanel.add(btnSaveAdd); 
-         btnpanel.add(btnCancel); 
-   
-         cpane.add(panel); 
-         cpane.add(btnpanel, BorderLayout.EAST); 
-         break; 
-       case 3: 
-         //Editing window 
-   
-         setTitle("Modificación de datos..."); 
-         setBounds(200, 200, 500, 250); 
-         setResizable(false); 
-   
-         //cotainer 
-   
-         cpane = getContentPane(); 
-         cpane.setLayout(new FlowLayout()); 
-   
-         //Components 
-   
-         panel = new JPanel(new GridLayout(10, 1, 5, 0)); 
-         lblclave_anterior = new JLabel(" Clave anterior del paciente "); 
-         txtclave_anterior = new JTextField(15); 
-   
-         lblclave_paciente = new JLabel(" Nueva clave del paciente "); 
-         lblnombre = new JLabel(" Nombre del paciente "); 
-         lbldireccion = new JLabel(" Dirección "); 
-         lbltelefono = new JLabel(" Teléfono "); 
-         lbledad = new JLabel(" Edad "); 
-         lblsexo = new JLabel(" Sexo "); 
-   
-         txtclave_paciente = new JTextField(15); 
-         txtnombre = new JTextField(15); 
-         txtdireccion = new JTextField(15); 
-         txttelefono = new JTextField(15); 
-         txtedad = new JTextField(3); 
-         txtsexo = new JTextField(1); 
-   
-         panel.add(lblclave_anterior); 
-         panel.add(txtclave_anterior); 
-         panel.add(lblclave_paciente); 
-         panel.add(txtclave_paciente); 
-         panel.add(lblnombre); 
-         panel.add(txtnombre); 
-         panel.add(lbldireccion); 
-         panel.add(txtdireccion); 
-         panel.add(lbltelefono); 
-         panel.add(txttelefono); 
-         panel.add(lbledad); 
-         panel.add(txtedad); 
-         panel.add(lblsexo); 
-         panel.add(txtsexo); 
-   
-         btnpanel = new JPanel(new GridLayout(2, 1, 10, 5)); 
-         btnSaveEdit = new JButton ("Guardar"); 
-         btnCancel = new JButton ("Cancelar"); 
-   
-         btnSaveEdit.addActionListener(this); 
-         btnCancel.addActionListener(this); 
-   
-         btnpanel.add(btnSaveEdit); 
-         btnpanel.add(btnCancel); 
-   
-         cpane.add(panel); 
-         cpane.add(btnpanel, BorderLayout.EAST); 
-         break; 
-       case 4: 
-         //Deleting window 
-   
-         setTitle("Eliminando datos..."); 
-         setBounds(200, 200, 300, 125); 
-         setResizable(false); 
-   
-         //cotainer 
-   
-         cpane = getContentPane(); 
-         cpane.setLayout(new FlowLayout()); 
-   
-         //Components 
-   
-         panel = new JPanel(new GridLayout(2, 1, 5, 0)); 
-         lblclave_paciente = new JLabel("Clave del paciente a eliminar "); 
-         txtclave_paciente = new JTextField(15); 
-   
-         panel.add(lblclave_paciente); 
-         panel.add(txtclave_paciente); 
-   
-         btnpanel = new JPanel(new GridLayout(2, 1, 10, 5)); 
-         btnSaveDelete = new JButton ("Eliminar"); 
-         btnCancel = new JButton ("Cancelar"); 
-   
-         btnSaveDelete.addActionListener(this); 
-         btnCancel.addActionListener(this); 
-   
-         btnpanel.add(btnSaveDelete); 
-         btnpanel.add(btnCancel); 
-   
-         cpane.add(panel); 
-         cpane.add(btnpanel, BorderLayout.EAST); 
-         break; 
-     } 
-     //Window Properties 
-   
-     setDefaultCloseOperation(HIDE_ON_CLOSE); 
-     setVisible(true); 
-   
-     //conection to DataBase 
-   
-     gestion_de_bd.conectar_a_bd(); 
-   } 
-   
-   public void actionPerformed (ActionEvent ae) 
-   { 
-     if (ae.getSource() == btnAdd) 
-     { 
-       new directorio_pacientes(2); 
-     } 
-     else if (ae.getSource() == btnEdit) 
-     { 
-       new directorio_pacientes(3); 
-     } 
-     else if (ae.getSource() == btnDelete) 
-     { 
-       new directorio_pacientes(4); 
-     } 
-     else if (ae.getSource() == btnExit) 
-     { 
-       System.exit(0); 
-     } 
-     else if (ae.getSource() == btnCancel) 
-     { 
-       setVisible(false); 
-     } 
-     else if(ae.getSource() == btnSaveAdd) 
-     { 
-       gestion_de_bd.agregar_datos(txtclave_paciente.getText(), txtnombre.getText(), txtdireccion.getText(),txtsexo.getText(), txttelefono.getText(),txtedad.getText()); 
-       txtclave_paciente.setText(""); 
-       txtnombre.setText(""); 
-       txtdireccion.setText(""); 
-       txttelefono.setText(""); 
-       txtedad.setText(""); 
-       txtsexo.setText(""); 
-     } 
-     else if(ae.getSource() == btnSaveEdit) 
-     { 
-       gestion_de_bd.modificar_datos(txtclave_paciente.getText(), txtnombre.getText(), txtdireccion.getText(),txttelefono.getText(), txtclave_anterior.getText(),txtedad.getText(), txtsexo.getText()); 
-       txtclave_anterior.setText(""); 
-       txtclave_paciente.setText(""); 
-       txtnombre.setText(""); 
-       txtdireccion.setText(""); 
-       txttelefono.setText(""); 
-     } 
-     else if(ae.getSource() == btnSaveDelete) 
-     { 
-       gestion_de_bd.eliminar_datos(txtclave_paciente.getText()); 
-       txtclave_paciente.setText(""); 
-     } 
-     else if(ae.getSource() == btnRefresh) 
-     { 
-       gestion_de_bd.extraer_datos(); 
-     } 
-   } 
-   
-   public static void main(String arg[]) 
-   { 
-     directorio_pacientes c = new directorio_pacientes(1); 
-     gestion_de_bd.extraer_datos(); 
-     //c.extraer_datos(); 
-   } 
-   
-   private void SetColHeader() 
-   { 
-     tmodel.addColumn("Clave del paciente"); 
-     tmodel.addColumn("Nombre"); 
-     tmodel.addColumn("Dirección"); 
-     tmodel.addColumn("Sexo"); 
-     tmodel.addColumn("Teléfono"); 
-     tmodel.addColumn("Edad"); 
-   
-   } 
-   
- /*  private void conectar_a_bd () 
-   { 
-     try 
-     { 
-       String dsn = "Medi"; 
-   
-       //load driver 
-       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
-   
-       //make connection 
-       con = DriverManager.getConnection("jdbc:odbc:" + dsn); 
-   
-       //create statement 
-       st = con.createStatement(); 
-     } 
-     catch (Exception e) {System.out.println(e);} 
-   } 
-   
- */ 
-   
-   
-   
-   
-   
-   
-   
-   
- } 
-   
-   
- class gestion_de_bd 
- { 
-     private Statement st; 
-   private Connection con; 
-    
-   public static void conectar_a_bd () 
-   { 
-   
-     try 
-     { 
-       String dsn = "Medi"; 
-   
-       //load driver 
-       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
-   
-       //make connection 
-       con = DriverManager.getConnection("jdbc:odbc:" + dsn); 
-   
-       //create statement 
-       st = con.createStatement(); 
-     } 
-     catch (Exception e) {System.out.println(e);}     
-      
-   } 
-    
-    
-   
-   public static void agregar_datos (String clave, String nombre, String direccion, String telefono, String edad, String sexo) 
-   { 
-     try 
-     { 
-       //prepare statement 
-       String qry = "Insert into directorio_paciente values (?, ?, ?, ?, ?, ?)"; 
-       System.out.println(clave + "\t"+nombre+ "\t"+direccion+ "\t"+telefono+ "\t"+edad+ "\t"+sexo); 
-       //System.out.println("Read only "+con.isReadOnly()); 
-       //System.out.println("Closed "+con.isClosed()); 
-   
-       PreparedStatement ps = con.prepareStatement(qry); 
-   
-       ps.setString(1, clave); 
-       ps.setString(2, nombre); 
-       ps.setString(3, direccion); 
-       ps.setString(4,telefono); 
-       ps.setString(5,edad); 
-       ps.setString(6,sexo); 
-   
-       ps.executeUpdate(); 
-     } 
-     catch(Exception e) {System.out.println(e + "\t" + e.getMessage());  } 
-   } 
-    
-    
-   
-   public static void modificar_datos (String clave, String nombre, String direccion, String telefono, String clave_anterior, String edad, String sexo) 
-   { 
-     try 
-     { 
-       //prepare statement 
-       String qry = "Update directorio_paciente set clave = ?, nombre = ?, direccion = ?, sexo = ?, telefono = ?, edad = ? where clave = ?"; 
-       PreparedStatement ps = con.prepareStatement(qry); 
-   
-       ps.setString(1, clave); 
-       ps.setString(2, nombre); 
-       ps.setString(3, direccion); 
-       ps.setString(4, sexo); 
-       ps.setString(5, telefono); 
-       ps.setString(6, edad); 
-        
-   
-       ps.setString(7, clave_anterior); 
-   
-       ps.executeUpdate(); 
-     } 
-     catch(Exception e) {System.out.println(e);  } 
-   } 
-    
-    
-   public static void eliminar_datos (String cond) 
-   { 
-     try 
-     { 
-       //prepare statement 
-       String qry = "Delete from directorio_paciente where clave = ?"; 
-       PreparedStatement ps = con.prepareStatement(qry); 
-   
-       ps.setString(1, cond); 
-   
-       ps.executeUpdate(); 
-     }  
-     catch(Exception e) {System.out.println(e);  } 
-   } 
-    
-   
-   
-   public static void extraer_datos () 
-   { 
-     try 
-     { 
-       int row = tmodel.getRowCount(); 
-       while(row > 0) 
-       { 
-         row--; 
-         tmodel.removeRow(row); 
-       } 
-   
-       //execute query 
-       ResultSet rs = st.executeQuery("Select * from directorio_paciente"); 
-   
-       //get metadata 
-       ResultSetMetaData md = rs.getMetaData(); 
-       int colcount = md.getColumnCount(); 
-   
-       Object[] data = new Object[colcount]; 
-       //extracting data 
-   
-       while (rs.next()) 
-       { 
-         for (int i=1; i<=colcount; i++) 
-         { 
-           data[i-1] = rs.getString(i); 
-         } 
-         tmodel.addRow(data); 
-       } 
-     } 
-     catch(Exception e) {System.out.println(e);  } 
-   } 
-   
-    
- } 
-   
-   
-