Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/04/2009, 17:51
Avatar de saman0suke
saman0suke
 
Fecha de Ingreso: abril-2009
Mensajes: 180
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Crear Combobox en JSP que tome valores de MySQL, ayuda!

En efecto, no estoy trabajando con Servlets, en realidad estoy haciendo en clases y JSP (javabean), mis conocimientos son bastante basicos, y he logrado que en la lista se muestre la nacionalidad, pero se guarde el id, sin embargo solo me muestra el primer pais de la lista, y los demas no, me gustaria que por favor revisaran el codigo y me dijeran si estoy haciendo algo mal :


clase java:
Código:
package datos;

import beans.Nacionalidad;
import java.sql.*;

public class Combobox_nacionalidad {
    Connection canal = null;

    public Combobox_nacionalidad() {
        cargardriver();
        conectarbd();
    }

    public void cargardriver() {
try {
          Class.forName("com.mysql.jdbc.Driver");
          System.out.println("La Carga de Driver ha sido Satisfactoria...");
        } catch (Exception e) {
          System.out.println("Error en metodo CargarDriver()...");
        }
    }

    public void conectarbd() {
        try {
            canal = DriverManager.getConnection("jdbc:mysql://localhost:3306/prueba_invesa", "root", "");
            System.out.println("Conexion Satisfactoria...");
        } catch(SQLException e) {
            e.printStackTrace();
        }
    }

    public Nacionalidad Listarprocedencia(Nacionalidad nacionalidad) {

        PreparedStatement instruccion=null;
        ResultSet resultado=null;

        conectarbd();

        try{
            String sSql = "";
            sSql = sSql + "select id_nacionalidad, Nombre from prueba_invesa.nacionalidad";

            instruccion = canal.prepareStatement(sSql);

            resultado=instruccion.executeQuery();

            nacionalidad = new Nacionalidad();
            while (resultado.next()) {
                nacionalidad.setId_nacionalidad(resultado.getString(1));
                nacionalidad.setNOmbre(resultado.getString(2));

break;
            }
    }
        catch(Exception e) {
            e.printStackTrace();
        } finally{
            try {
               if (resultado != null) resultado.close();
               if (instruccion != null) instruccion.close();
            } catch (SQLException ex) {
            }
        }

        return nacionalidad;
        }

    }
archivo jsp(solo incluyo los codigos JAVA)
Código:
<jsp:useBean id="nacionalidad" scope="request"  class="beans.Nacionalidad"/>
<jsp:useBean id="combocaja"  scope="session"  class="datos.Combobox_nacionalidad_1"/>

<%
        String id_nacionalidad = nacionalidad.getId_nacionalidad();
        String Nombre = nacionalidad.getNOmbre();

        nacionalidad.setId_nacionalidad(id_nacionalidad);
        nacionalidad.setNOmbre(Nombre);

        nacionalidad=combocaja.Listarprocedencia();
        %>

<select name="NACIONALIDAD" id="NACIONALIDAD">
            <option>Seleccione nacionalidad</option>
            <option value="<%=nacionalidad.getId_nacionalidad() %>"><%=nacionalidad.getNOmbre() %></option>
        </select>
Como les repito, solo me muestra el primer dato de pais en el select, y funciona, pero me gustaria que los desplegara todos, ¿podrian ayudarme? se que existen otras formas de hacerlo, pero me gustaria me ayudaran a hacer funcionar esta, y si de hecho no hay forma con este codigo (cosa que no creo,porque muestra siquiera un valgo) pues gracias de antemano, un saludo.