蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 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>&nbsp;</td>
        <td>&nbsp;</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>&nbsp;</td>
        <td>&nbsp;</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没有,表里面有一条记录是相同的




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com