Foros del Web » Programación para mayores de 30 ;) » Java »

Mostrar consulta control select jsp y oracle

Estas en el tema de Mostrar consulta control select jsp y oracle en el foro de Java en Foros del Web. Hola muy buenas tardes tengo una duda hay un procedimiento muy fácil que yo hacia en php pero ahora necesito saber si esto se puede ...
  #1 (permalink)  
Antiguo 17/05/2012, 15:20
 
Fecha de Ingreso: mayo-2011
Mensajes: 39
Antigüedad: 9 años, 1 mes
Puntos: 2
Pregunta Mostrar consulta control select jsp y oracle

Hola muy buenas tardes tengo una duda hay un procedimiento muy fácil que yo hacia en php pero ahora necesito saber si esto se puede hacer de igual forma desde un jsp y el procedimiento es una consulta de una base de datos mysql desde un control select de html.

osea.

while($dat=mysql_fetch_array($datos))
{
echo "<option value=\"_$reg[codigo]\">$reg[nobrealum]</option>
}
?></select>

Es decir lo que hace es que el <select> muestra el contenido y los campos echos en la consulta y que están guardados en la variable $datos.

Quiero hacer algo parecido pero en jsp y usando oracle??? es viable????
y si es así ojala me pudieran echar una manita con un ejemplo de la sintaxis a usar se los agradecería muchísimo.

Gracias y buena tarde.
  #2 (permalink)  
Antiguo 18/05/2012, 11:30
 
Fecha de Ingreso: abril-2012
Mensajes: 33
Antigüedad: 8 años, 3 meses
Puntos: 3
Respuesta: Mostrar consulta control select jsp y oracle

No se nada de codigo php pero a lo que entiendo es que:
Quieres que te muestre en un combobox datos de tu tabla de Oracle?

Digamos mm:

String dato= "select a from tabla";

<select>
<option>Aca te muestre dato</option>
</select>

A eso te refieres?
  #3 (permalink)  
Antiguo 18/05/2012, 12:59
 
Fecha de Ingreso: mayo-2011
Mensajes: 39
Antigüedad: 9 años, 1 mes
Puntos: 2
Respuesta: Mostrar consulta control select jsp y oracle

Hola julio 19vp si eso es exactamente lo que quiero hacer???

algun idea de como generar el codigo??
  #4 (permalink)  
Antiguo 21/05/2012, 07:52
 
Fecha de Ingreso: abril-2012
Mensajes: 33
Antigüedad: 8 años, 3 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.
  #5 (permalink)  
Antiguo 21/05/2012, 16:35
 
Fecha de Ingreso: mayo-2011
Mensajes: 39
Antigüedad: 9 años, 1 mes
Puntos: 2
Respuesta: Mostrar consulta control select jsp y oracle

gracias julio19vp el codigo me fue de mucha ayuda :)
  #6 (permalink)  
Antiguo 22/05/2012, 07:13
 
Fecha de Ingreso: abril-2012
Mensajes: 33
Antigüedad: 8 años, 3 meses
Puntos: 3
Respuesta: Mostrar consulta control select jsp y oracle

Que bueno que te halla servido.

Etiquetas: consulta+sql, html, html+java, jsp, oracle
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:43.