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