Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/05/2012, 07:52
julio19vp
 
Fecha de Ingreso: abril-2012
Mensajes: 33
Antigüedad: 10 años, 4 meses
Puntos: 3
Respuesta: Mostrar consulta control select jsp y oracle

Si claro.
Asi:

Código HTML:
Ver original
  1. <%@page import="java.util.Vector,jdbc.*;" %>
  2. //Lo anterior tienes que ponerlo para que puedar usar el "Sql.consulta"
  3.                     <tr>
  4.                         <td><p>Tipo de Telefono</p></td>
  5.                         <td>
  6.                             <select id="tipotelef">
  7.                                 <option value="">- Seleccionar Telefono -</option>
  8.                                 <%
  9.                                    Vector tipotelef = Sql.consulta("select TelefCodigo,TelefDescripcion from telef");
  10.                                    for (int fils = 1; fils < tipotelef.size(); ++fils) {
  11.                                        String[] unaFila = (String[]) tipotelef.get(fils);
  12.                                %>
  13.                                 <option value="<%=unaFila[0]%>"><%=unaFila[1]%></option>
  14.                                // Me muestra la descripcion pero cojo el valor del ID
  15.                                // El [0] coge el TelefCodigo, el [1] el TelefDescripcion.
  16.                               // Aqui te llena todos los registros
  17.                                 <%}%>
  18.                             </select>
  19.                         </td>
  20.                     </tr>

mi Sql.consulta es un "java class" con nombre Sql, donde adentro va esto:
Yo lo pongo en Source Packages en mi proyecto en Netbeans en java web claro.
Por nombre lo llamo "Sql"

Código Javascript:
Ver original
  1. import java.sql.*;
  2. import java.util.Vector;
  3. public class Sql {
  4.     static public Vector consulta(String sql) {
  5.         Vector regs = new Vector();
  6.        
  7.         try {
  8.             ConectaDB       db = new ConectaDB();
  9.             Connection      cn = db.getConnection();
  10.            
  11.             if (cn == null) {
  12.                 regs = null;
  13.             } else {
  14.                 Statement       st = cn.createStatement();
  15.                 ResultSet       rs = st.executeQuery(sql);
  16.                 ResultSetMetaData   rm = rs.getMetaData();
  17.                 int         numCols = rm.getColumnCount();
  18.                
  19.                 // Toma los títulos de las columnas
  20.                 String[] titCols= new String[numCols];
  21.                 for(int i=0; i<numCols; ++i)
  22.                     titCols[i]= rm.getColumnName(i+1);
  23.                
  24.                 // la fila 0 del vector lleva los títulos de las columnas
  25.                 regs.add(titCols);
  26.                
  27.                 // toma las filas de la consulta
  28.                 while(rs.next()) {
  29.                     String[] reg= new String[numCols];
  30.                    
  31.                     for(int i=0; i<numCols; i++) {
  32.                         reg[i] = rs.getString(i + 1);
  33.                     }
  34.                    
  35.                     regs.add(reg);
  36.                 }
  37.                
  38.                 rs.close();
  39.                 st.close();
  40.                 cn.close();
  41.             }
  42.            
  43.         } catch(SQLException e) {
  44.             regs= null;
  45.         } catch(Exception e) {
  46.             regs= null;
  47.         }
  48.        
  49.         return regs;
  50.     }
  51. }

Para conectarme a Oracle.
Primero descargas del internet el archivo .jar "ojdbc14" de la misma pagina de oracle yo lo baje. Primero aceptas los terminos que te dice y despues buscas el que se llama ojdbc14 y pues creo q tienes que estar registrado para descargarlo. Ese archivo .jar lo adjuntas a tu proyecto web en libreries, click derecho add JARR/FOLDER, lo buscar y aceptar.(En netbeans)

Ahora que ya tienes el driver de oracle en tu proyecto nos conectamos con esto.
Creas un java class, y pones esto. con el nombre de ConectaDB.java en el mismo Source Packages

Código Javascript:
Ver original
  1. import java.sql.*;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. public class ConectaDB {
  5. private String  driver= "oracle.jdbc.driver.OracleDriver";//No muevas nada
  6. private String  url= "jdbc:oracle:thin:@192.168.1.1:1521:or0801";
  7. //Aqui la IP es la IP donde esta tu servidor oracle. el :1521 es el puerto por defecto de la BD oracle y el :or0801 //es el nombre de la BD oracle.
  8. private String  login= "asd"; // El usuario que usas para conectarte a Oracle
  9. private String  password= "123456"; // La contraseña que usas para conectarte a Oracle
  10.  
  11.     // Retorna la connection. Caso contrario, null si no a sido posible.
  12.     public Connection getConnection() {
  13.     Connection cn= null;
  14.        
  15.         try{
  16.             Class.forName(driver).newInstance();
  17.             cn= DriverManager.getConnection(url, login, password);
  18.            
  19.         } catch(SQLException e) {
  20.             System.out.println(e.toString());
  21.             cn= null;
  22.         } catch(Exception e) {
  23.             System.out.println(e.toString());
  24.             cn= null;
  25.         }
  26.        
  27.         return cn;
  28.     }

Con todo esto de debe funcionar lo que me dices.