create a dynamic combo box using values from database in JSP

19,955

How about:

<select>
<% 
Connection con=null;
ResultSet rs=null;

try
{
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     con=DriverManager.getConnection("jdbc:odbc:db","root","root");
     HttpSession ss=request.getSession();
     String uid=(String)ss.getAttribute("id");
     PreparedStatement pst=con.prepareStatement("select name from emp where uid=?");
     pst.setString(1,uid);
     rs=pst.executeQuery();
     while(rs.next())
     {
          String name = rs.getString("name");
%>
          <option value="<%=name%>"><%=name%></option>
<%
     }
}catch(Exception e)
{    out.print(e);
}
%>
</select>
Share:
19,955
Kazekage Gaara
Author by

Kazekage Gaara

#SOreadytohelp

Updated on June 04, 2022

Comments

  • Kazekage Gaara
    Kazekage Gaara about 2 years

    I want to create a combo box in jsp that contains values fetched from my database. Here's the code that I've written,but it returns a blank combo box,even though there are values in the database.

    <select>
    <% 
    Connection con=null;
    ResultSet rs=null;
    
    try
    {
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
         con=DriverManager.getConnection("jdbc:odbc:db","root","root");
         HttpSession ss=request.getSession();
         String uid=(String)ss.getAttribute("id");
         PreparedStatement pst=con.prepareStatement("select name from emp where uid=?");
         pst.setString(1,uid);
         rs=pst.executeQuery();
         while(rs.next())
         {
             out.print(rs.getString("name"));
    %>
    </select>
    <%
         }
    }catch(Exception e)
    {    out.print(e);
    }
    %>
    
  • Kazekage Gaara
    Kazekage Gaara almost 13 years
    it throws an exception that gets printed in the combo box that says: java.sql.SQLException: no data found
  • Kazekage Gaara
    Kazekage Gaara almost 13 years
    with a few changes it works fine :) I've read somewhere on the internet just now that 2nd call to getString for the same column is the problem. Some drivers allow that and some don't. So I just changed the value parameter to value=x,and kept the other half to display it in the combobox. Thanks :)
  • Vlad
    Vlad almost 13 years
    Updated! Indeed, some drivers don't allow multiple data GETs.