首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

关于两次输出ResultSet结果的有关问题

2012-01-29 
关于两次输出ResultSet结果的问题原代码如下:label请选择待分析的用户A:selectname userlist onChan

关于两次输出ResultSet结果的问题
原代码如下:
    <label>   请选择待分析的用户A:
        <select   name= "userlist "   onChange= "addphone(this); ">
<option> *未选择* </option>
<%
/********进行查询*********/
try   {
Connection   con   =   DriverManager.getConnection(url,user,password);  
Statement   smt   =   con.createStatement();
ResultSet   rst   =   smt.executeQuery(sqlyuju);
while(rst.next()){
out.println( " <option   value= ' "   +   rst.getString( "username ")   +   " '> "   +   rst.getString( "username ")   +   " </option> ");
}
%>
                </select>
    用户B:
    <select   name= "userlist2 "   onChange= "addphone(this); ">
        <option> *未选择* </option>
<%
rst.beforeFirst();
while(rst.next()){
out.println( " <option   value= ' "   +   rst.getString( "username ")   +   " '> "   +   rst.getString( "username ")   +   " </option> ");
}
rst.close();
smt.close();
con.close();
}   catch(SQLException   ex)   {
out.println( "数据库连接查询错误 "   +   ex);
ex.printStackTrace();
}
%>
    </select> </label>

为什么在第二个列表框中无法再次显示ResultSet的内容,用了beforeFirst()、first()、previous()都不行,应该怎么做才好啊。

[解决办法]
Statement smt = con.createStatement();
改成
Statement smt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
就可以了。

热点排行