|
蓝森林 http://www.lslnet.com 2006年8月25日 8:28
[jsp]两个表字段判断
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url = "jdbc:oracle:thin:@192.168.10.8:1521:health";
//orcl为你的数据库的SID
String user="service";
String password="service";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from ttm_time order by id";
ResultSet rs=stmt.executeQuery(sql); %>
<%
Statement stmt2=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql2="select * from ttm_order where to_char(REGEDATE,'yyyymmdd')=to_char(sysdate,'yyyymmdd')";
ResultSet rs2=stmt2.executeQuery(sql2); %>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<% while(rs.next()) {%>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<%if (rs2.getString("regtime")==rs.getString("ordertime")) out.print("<td>");
else out.print("<td bgcolor=#000000>");%>
<%=rs.getString("id")%></td>
<td><%=rs.getString("ordertime")%></td>
</tr><%}%>
</table>
<% rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
显示错误:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: 用尽的 Resultset
有两个表,ttm_time 和ttm_order 想等里面regtime 和ordertime相等时变td色,不知道怎么写正确代码,请高手指导 |
记得前段时间也有个也是这样的问题,不知道那位仁兄是不是你。
(你的问题跟他的一模一样,甚至连表字段名也一样)
那时的回答:你的循环已用尽了,还在强行输出数据,报的就是这个错。
另:字符串比较最好用equals,用==有时候会出意外的情况。 |
呵呵,是我,
我还是没解决,这段代码不知道怎么改好
<%if (rs2.getString("regtime")==rs.getString("ordertime")) out.print("<td>");
else out.print("<td bgcolor=#000000>");%>
<%=rs.getString("id")%></td>
<td><%=rs.getString("ordertime")%></td>
</tr><%}%>
呵呵,刚开始学 |
问题不在你这句代码中,而是在你的循环中。
你循环不改,这段代码怎么改都是无济于事的,多从循环的SQL语句方面想想就清楚问题的解决方法了。 |
<% while(rs.next()) {%>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><% while(rs2.next()) {%>
<% if(rs2.getString("regtime")==rs.getString("ordertime")) out.print("11");
%>
<%}%><%=rs.getString("id")%></td>
<td><%=rs.getString("ordertime")%></td>
</tr><%}%>改成这样,不出错了,可是out.print没有输出任何东西啊,11没有,表里面有一条记录是相同的 |
|