0

我的问题是无法制作此下拉菜单,导致 SQL 异常

我在 servlet 中的 SQL 语句如下所示:

ResultSet banks = stmt.executeQuery("SELECT * FROM DTU06.BANKS");

我的下拉列表是在这样的 JSP 文件中创建的

<%  ResultSet banks = (ResultSet) request.getAttribute("banks"); %>
<select id="aNum" name="bank">
<%  while (banks.next()) {  %>
    <option value="${banks.getString(2)}">
        <%=banks.getString(1)%>
    </option>
<%  }   %>
</select>

我得到的错误代码如下所示:

DSRA9110E: 结果集已关闭。

任何人都可以看到问题吗?

*EDIT1 我尝试banks.next()在 servlet 中使用,但我决定删除它。

4

2 回答 2

0

语句后
ResultSet banks = stmt.executeQuery("SELECT * FROM DTU06.BANKS");
遍历你的ResultSetiebanks.next()然后添加到一些集合

例如

public ArrayList getResult();
{
ArrayList list = new ArrayList();
//get connection here
ResultSet banks = stmt.executeQuery("SELECT * FROM DTU06.BANKS");
while(banks.next()){
list.add(banks.getString("columnIndex"));
}
return list
}

调用此方法,然后遍历 ArrayList 并获取所需的值,即list.get("index")

于 2013-06-19T12:07:33.920 回答
0

ResultSet 不可序列化。要么实现你自己的实现 ResultSet 和 Serializable 的 MyResultSet,要么将你的结果集放入一个集合对象中并将其传递给 jsp 页面。

于 2013-06-19T11:56:16.253 回答