你的变量是从session当中取得的,当你每次刷新的时候都执行这条sql语句,当然你刷新一次就多一条记录咯。
建议你改其他的方法看看

解决方案 »

  1.   

    可是我前边有定义ResultSet rs =null那该怎么办?
      

  2.   

    你用了
    option+="<option value=\""+rs.getString("coursename")+"\">"+rs.getString("coursename")+"</option>\n";
    当刷新时会从数据库中找记录显示出来,由于你用了option+=
    自然每刷新一次就多一条出来
    改成:
    option="<option value=\""+rs.getString("coursename")+"\">"+rs.getString("coursename")+"</option>\n";
      

  3.   

    zxhong(红透半边天)说的不错撒,呵呵。
    还有你可以改成
    option value="<%=rs.getString("coursename")%>">"<%=rs.getString("coursename")%>"</option>
    如此也可以解决你问题撒,呵呵goodluck
      

  4.   

    <% realname=(String)session.getAttribute("realname");
      strSQL="select *from course where author='"+realname+"' order by CID";
         rs=ConDB.executeQuery(strSQL);
    String option="";
         while(rs.next()){
      option+="<option value=\""+rs.getString("coursename")+"\">"+rs.getString("coursename")+"</option>\n";
    }
    out.print(option);
      %>
    每次进入循环时先清空一下option="";
    还有while()循环最好戴上{}
      

  5.   

    在循环之前在客户端的js脚本里加上一句
    document.all["selectname"].innerText="";
      

  6.   

    不好意思 几位老大,谢谢了,真的谢谢了我还是比较菜的,学SJP没有几天
    最近问题肯定很多了揭帖