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);
}
}


