连续调用数据库2次,错误信息如下,大家帮帮我(附源码)
所用系统: win2000,tomcat,MSsql
错误代码如下:
javax.servlet.ServletException: ResultSet is closed
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:461)
at _0002fproductlv_00032_0002ejspproductlv2_jsp_36._jspService(_0002fproductlv_00032_0002ejspproductlv2_jsp_36.java:241)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
源码如下:
<%
java.sql.ResultSet sqlRst; //结果集对象1
java.sql.ResultSet sqlRst1; //结果集对象2
java.lang.String strCon; //数据库连接字符串
java.lang.String strSQL; //SQL语句1
java.lang.String strSQL1; //SQL语句2
java.lang.String tempx;
int i;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
strCon = "jdbc:odbc:guest_db";
sqlCon = java.sql.DriverManager.getConnection(strCon,"XXX","XXX");
sqlStmt = sqlCon.createStatement();
%>
strSQL1 = "select DISTINCT goodtype from good_2_lv where level1='"+lv1+"' and flag='1' ";
sqlRst1= sqlStmt.executeQuery(strSQL1);
while (sqlRst1.next()) {
String goodee = sqlRst1.getString(1);
out.print(goodee);
strSQL = "select * from good_2_lv where goodtype='"+goodee+"'";
sqlRst= sqlStmt.executeQuery(strSQL);
while(sqlRst.next()) { %>
<tr>
<td><font size="2"><a href="product1.jsp?number=<%=sqlRst.getString(1)%>&lv=<%=lv1%>"><%=sqlRst.getString(3)%>
<% String dd=sqlRst.getString(6);
if (dd.equals("none")) {
}
else
{
%>
--<%=dd%>
<% } %>
</a></font></td>
</tr>
<% }
sqlRst.close();
sqlStmt.close();
sqlCon.close(); %>
<% }%>