Inserir registros do Mysql no Combobox

Olá…Estou fazendo uma webapplication em jsp.

Alguem saberia me dizer como posso inserir registros do Mysql no Combobox???

Tenho as horas e minutos que serão armazenados no banco de dados; e o usuário selecionará os mesmos…

Hora::

Grata

De uma olhada deste post

http://www.portaljava.com/home/modules.php?name=Forums&file=viewtopic&t=37948

Estou tentando aqui…Ainda não deu certo…

Não tinha achado nenhum tópico falando sobre esse assunto, Obrigada pela sugestão.

[quote=Cris_gavioli]Estou tentando aqui…Ainda não deu certo…

Não tinha achado nenhum tópico falando sobre esse assunto, Obrigada pela sugestão.[/quote]

Vc pode jogar seus registros dentro de uma colecao de objetos e jogar essa colecao dentro da combo… eu fiz assim…
Codigo da classe DAO que cria uma Lista

public List<Pessoa> getLista() throws SQLException {
		PreparedStatement smtm = (PreparedStatement) this.conexao.prepareStatement("select * from pessoa");
		ResultSet rs = smtm.executeQuery();

		// Select com cursor
		List<Pessoa> contatos = new ArrayList<Pessoa>();
		while (rs.next()) {
			// Criando objetos
			Pessoa pessoa = new Pessoa();
			pessoa.setId(rs.getInt("idpessoa"));
			pessoa.setNome(rs.getString("nome"));
			pessoa.setCpf(rs.getString("cpf"));
			// adcionando pessoa na lista
			contatos.add(pessoa);
		}
		rs.close();
		smtm.close();
		return contatos;

	}
	

Codigo JSP da combo que pega os objetos retornados…

<select name="pessoa" size="1">
	<% 
	   List<Pessoa> lista = d.getLista();
	   for (Pessoa pessoa : lista){ %>
	   <option> <%= pessoa.getId() + " " + pessoa.getNome() %> </option>
	<% } %>
</select><br>

No meu caso eu tinha ID e Nome…Espero ter ajudado…

Utilizar coleções da API Java, ao invés de arrays.

Pega dados do Banco de dados:

Com o ResultSet (variável chama-se “rs”) faça:



//declara a coleção
List colecao = new ArrayList();

while(rs.next()){
  //coloca dados na coleção
  colecao.add(rs.getString(1));
}

para mostrar no Servlet


out.println("<td align='right'>Sigla:</td>");
out.println("<td align='left'> <select name='sigla' class='input'>");
Iterator it = colecao.iterator();
while(it.hasNext()){
    String dados = (String) it.next();
     out.println("<option>" + dados + "</option>");
}
out.println("</td>");

Pessoal, dêem uma olhada no jeito que estou fazendo:

 try {
        Statement stmt = con.createStatement();
        rs = stmt.executeQuery("select * from usuario");

        if (rs.next()) {

          login = rs.getString("login");
          i=i++;
        }

Na tela de exibição:


<p align="left">   Usuário:
		<select size="1" name="D1" style="width: 76; height: 43">
               <option value=i><jsp:getProperty name="acesso" property="login" /><br></option>
               </select></p>

Mas está ocorrendo o seguinte erro:

An error occured in the bean. Error Message is: null

Grata…

[quote=Cris_gavioli]Pessoal, dêem uma olhada no jeito que estou fazendo:

 try {
        Statement stmt = con.createStatement();
        rs = stmt.executeQuery("select * from usuario");

        if (rs.next()) {

          login = rs.getString("login");
          i=i++;
        }

Na tela de exibição:


<p align="left">   Usuário:
		<select size="1" name="D1" style="width: 76; height: 43">
               <option value=i><jsp:getProperty name="acesso" property="login" /><br></option>
               </select></p>

Mas está ocorrendo o seguinte erro:

An error occured in the bean. Error Message is: null

Grata…[/quote]

Qual o tipo da variável login?
Caso for String ela somente vai armazenar o último valor da consulta.
Você deve criar uma classe persistente.
Ex:

public class Usuario{

private String login;

//adicione os setters e getters
}

Depois você cria uma coleção.

[code]
List listaDeLogins = new ArrayList();

[code]

Agora você instancia a classe Usuario dentro do while

while(rs.next()){
    Usuario usuario = new Usuario();
    usuario.setLogin(rs.getString("login");

    listaDeLogins.add(usuario)
}

Ahh, você não precisa disso: i=i++;
Ele vai parar de iterar quando nao houver mais registro: rs.next(), enquanto tiver ele itera, ok?

Consegui… :slight_smile:

Obrigada pessoal…

Vc pode me mostrar como ficou seu código, estou criando uma aplicação WEB, preciso de um select da tabela pessoa para UF, onde posso pegar os estados listados nesta tabela UF e jogar na coluna Uf,da tabela pessoa. Pelos exemplos acima não entedi o trecho

<%
List lista = d.getLista();
for (Uf uf : lista){ %>
<%= uf.getIduf() + " " + uf.getEstado() %>
<% }
%>

= d.getLista(); . O d, que significa?

[quote=Cris_gavioli]Consegui… :slight_smile:

Obrigada pessoal…[/quote]

No meu projeto WEB, onde que listar da tabela PESSOA, dados na TABELA UF, coluna ESTADO, o meu daoPessoa está assim: isso está correto e gostaria de um exemppplo para o SELECT em JSP. Agradeço pro qualquer informação.

public List getLista() throws Exception {
PreparedStatement ps = null;
Connection conn = null;
ResultSet rs = null;

    try {
        conn = this.conn;
        ps = conn.prepareStatement("select * from uf");
        rs = ps.executeQuery( );
         List<Uf> estado = new ArrayList<Uf>();  
         while (rs.next()) {  
         Uf uf = new Uf();  
         uf.setIduf(rs.getInt("iduf"));  
         uf.setEstado(rs.getString("estado"));  
         
         // adcionando estado na lista
         estado.add(uf);  
     }  
     rs.close();  
     
     return estado;


    } catch (SQLException sqle) {
        throw new Exception(sqle);
    } finally {
        ConexaoBancoDeDados.CloseConnection(conn, ps, rs);
    }

}

[quote=HenrikoAS][quote=Cris_gavioli]Consegui… :slight_smile:
Preciso de alguma ajuda aqui, será quem alguém pode me ajudar. Agradeço.

Obrigada pessoal…[/quote]

No meu projeto WEB, onde que listar da tabela PESSOA, dados na TABELA UF, coluna ESTADO, o meu daoPessoa está assim: isso está correto e gostaria de um exemppplo para o SELECT em JSP. Agradeço pro qualquer informação.

public List getLista() throws Exception {
PreparedStatement ps = null;
Connection conn = null;
ResultSet rs = null;

    try {
        conn = this.conn;
        ps = conn.prepareStatement("select * from uf");
        rs = ps.executeQuery( );
         List<Uf> estado = new ArrayList<Uf>();  
         while (rs.next()) {  
         Uf uf = new Uf();  
         uf.setIduf(rs.getInt("iduf"));  
         uf.setEstado(rs.getString("estado"));  
         
         // adcionando estado na lista
         estado.add(uf);  
     }  
     rs.close();  
     
     return estado;


    } catch (SQLException sqle) {
        throw new Exception(sqle);
    } finally {
        ConexaoBancoDeDados.CloseConnection(conn, ps, rs);
    }

}[/quote]