Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/06/2011, 12:20
cayu2008
 
Fecha de Ingreso: junio-2011
Ubicación: chile
Mensajes: 5
Antigüedad: 12 años, 11 meses
Puntos: 0
procedure java y sql

HOLA necesito ayuda, como se ve en el codigo tengo un jcombobox que tiene nombres de peliculas que extrae desde la base de datos ,al momento de seleccionar una pelicula en el combobox deseo hacer una consulta a la BD que me muestre lo que quiero respecto a la pelicula seleccionada.
Mas abajo tengo un SELECT largisimo ,bueno quiero hacer un procedimiento almacenado en sql y llamarlo desde java para no tener que escribir la sentencia completa en java ,(ojala me entiendan)

gracias y disculpen el largo del codigo....




Código:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;


public class consultaPeliculas extends JFrame implements ActionListener
{
    JButton consultar=new JButton("consultar");
    JButton activarLista=new JButton("Activar lista");
    JComboBox combo3=new JComboBox(); 
    JTextArea txtArea=new JTextArea();
    JPanel p1=new JPanel();
    JPanel p2=new JPanel();
    DefaultTableModel modelo = new DefaultTableModel();
    JTable tabla = new JTable(modelo);
    JScrollPane scroll_1=new JScrollPane(tabla);

    public consultaPeliculas()
    {
        super("CONSULA POR PELICULAS");
        Container c=getContentPane();
        c.setLayout(new BorderLayout());


        modelo.addColumn("nombre_region");
        modelo.addColumn("nombre_ciudad");
        modelo.addColumn("nombre_cine");
        modelo.addColumn("numero_sala");
        modelo.addColumn("nombre_pelicula");
        modelo.addColumn("id_funcion");
        modelo.addColumn("id_horario");
        //modelo.addColumn("fecha_horario");
        //modelo.addColumn("fecha_funcion");

        p1.setLayout(new GridLayout(2,2));
        p1.add(activarLista);
        p1.add(combo3);
        p1.add(consultar);




        p2.setLayout(new FlowLayout());
        p2.add(scroll_1);

        c.add(p1,BorderLayout.NORTH);
        c.add(scroll_1,BorderLayout.CENTER);
        setSize(600,400);
        setVisible(true);
        
        consultar.addActionListener(this);
        combo3.addActionListener(this);
        activarLista.addActionListener(this);
    }
    public void actionPerformed(ActionEvent a)
    {
        if(a.getSource()==activarLista)
        {
            // CREANDO LA VARIABLE DE CONECCION
            String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
            "databaseName=horario_1;user=sa;password=1234";

            // DECLARANDO LOS OBJETOS JDBC
            Connection con = null;
            Statement stmt = null;
            ResultSet rs = null;

            try
            {
                // ESTABLECIENDO LA CONECCION
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                con = DriverManager.getConnection(connectionUrl);
                // CREANDO Y EJECUTANDO SENTENCIAS SQL.
                String SQL = "SELECT nombre_pelicula FROM pelicula";

                stmt = con.createStatement();
                rs = stmt.executeQuery(SQL);

                // MOSTRANDO E ITERANDO LOS DATOS.
                combo3.removeAllItems();
                while (rs.next())
                {
                    combo3.addItem(rs.getObject("nombre_pelicula"));

                }

            }
            catch (Exception x)
            {
            }
            finally
            {
                    if (rs != null) try { rs.close(); } catch(Exception x) {}
                    if (stmt != null) try { stmt.close(); } catch(Exception x) {}
                    if (con != null) try { con.close(); } catch(Exception x) {}
            }
        }
        if(a.getSource()==consultar)
        {

                 
            // CREANDO LA VARIABLE DE CONECCION
            String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
            "databaseName=horario_1;user=sa;password=1234";
            // DECLARANDO LOS OBJETOS JDBC
            Connection con = null;
            Statement stmt = null;
            ResultSet rs = null;
            try
            {
                // ESTABLECIENDO LA CONECCION
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                con = DriverManager.getConnection(connectionUrl);
                // CREANDO Y EJECUTANDO SENTENCIAS SQL.
                String SQL="SELECT" +
                "pelicula.nombre_pelicula, ciudad.nombre_ciudad, region.nombre_region," +
                "cine.nombre_cine, sala.numero_sala, funcion.hora_funcion, horario.fecha_horario " +
                "FROM pelicula,ciudad,region,cine,sala,funcion,pelicula_sala,horario " +
                "WHERE (region.id_region=ciudad.id_region AND"+
                "cine.id_ciudad=ciudad.id_ciudad AND"+
                "cine.id_cine=sala.id_cine AND"+
                "sala.id_sala=pelicula_sala.id_sala AND"+
                "pelicula.id_pelicula=pelicula_sala.id_pelicula AND"+
                "horario.id_pelicula_sala=pelicula_sala.id_pelicula_sala AND"+
                "horario.id_funcion=funcion.id_funcion) AND "+
                "pelicula.nombre_pelicula='"+combo3.getSelectedItem()+"'";
             
                stmt = con.createStatement();
                rs = stmt.executeQuery(SQL);

                

                // MOSTRANDO E ITERANDO LOS DATOS.
                
                while(rs.next())
                {
                     Object [] fila = new Object[7];
                     for (int i=0 ; i<7 ; i++)
                        fila[i] = rs.getObject(i+1); // El primer indice en rs es el 1, no el cero, por eso se suma 1.
                    // Se añade al modelo la fila completa.
                    modelo.addRow(fila);
                    
                }
                
            }
            catch (Exception x)
            {
            }
            finally
            {
                    if (rs != null) try { rs.close(); } catch(Exception x) {}
                    if (stmt != null) try { stmt.close(); } catch(Exception x) {}
                    if (con != null) try { con.close(); } catch(Exception x) {}
            }
            
        }
        
    }
    public static void main(String args[])
    {
        consultaPeliculas cp=new consultaPeliculas();
        cp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

Última edición por cayu2008; 23/06/2011 a las 12:25