<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ include file="../inc/config.jsp"%>
<table border="0" cellspacing="0" cellpadding="10">
  <tr>
    <td>
<a href="addbbs.jsp"><img src="../images/bbs_postbut_over.jpg" width="83" height="23" border="0" /></a></td>
<td>
<%!
public String returnStr(int iswhomainid){ ResultSet Srs=null; //结果集对象
try{
sql="select count(*) as num,max(addtime) as nowtime from liu_bbs where isguest=true and iswhomain="+iswhomainid+"";//执行sql
Srs = stmt.executeQuery(sql);
}catch(SQLException e){
out.print(e);
}
String retStr="";
while(Srs.next())
{ int num=Srs.getInt("num");//个数
String nowtime=Srs.getString("nowtime");//时间
retStr="<td>"+nowtime+"</td><td>"+num+"</td>";//返回值
}
Srs.close();
return retStr;
}
%>  <%
sql="select * from liu_bbs where isguest=false";
rs = stmt.executeQuery(sql);
out.print(" <table border=0 cellspacing=0 cellpadding=5>");
out.print("   <tr>");
out.print("  <td>主题标题</td>");
out.print("  <td>留言人</td>");
out.print("  <td>最新回应时间</td>");
out.print("  <td>回复</td>");
out.print("  <td>点击</td>  ");
out.print("   </tr>");
while(rs.next())
{
int s_id=rs.getInt("id");
String s_title=rs.getString("main_subject");
String s_name=rs.getString("main_name");
int hot=rs.getInt("hot");
out.print("   <tr>");
out.print("  <td><a href=view.jsp?id="+s_id+">"+s_title+"</a></td>");
out.print("  <td>"+s_name+"</td>");
String king=returnStr("1");
out.print(king);
out.print("  <td>"+hot+"</td>  ");
out.print("   </tr>");
}
out.print(" </table>");
rs.close();     stmt.close();
conn.close(); %> </table></td>
  </tr>
</table>

解决方案 »

  1.   

    由这里传一个值过去,String king=returnStr(1);返回值。
    out.print(king);输出值。
    出错在。。
    sql="select count(*) as num,max(addtime) as nowtime from liu_bbs where isguest=true and iswhomain="+iswhomainid+"";//执行sql
    Srs = stmt.executeQuery(sql);
    但这个sql执行是没有问题的。在access已经执行过。。
    如果不引用returnStr也不会有错误的。
      

  2.   

    <%!
    public String returnStr(int iswhomainid){ ResultSet Srs=null; //结果集对象
    try{
    sql="select count(*) as num,max(addtime) as nowtime from liu_bbs where isguest=true and iswhomain="+iswhomainid+"";//执行sql
    Srs = stmt.executeQuery(sql);
    }catch(SQLException e){
    out.print(e);
    }
    String retStr="";
    while(Srs.next())
    { int num=Srs.getInt("num");//个数
    String nowtime=Srs.getString("nowtime");//时间
    retStr="<td>"+nowtime+"</td><td>"+num+"</td>";//返回值
    }
    Srs.close();
    return retStr;
    }
    %>  <%
    sql="select * from liu_bbs where isguest=false";
    rs = stmt.executeQuery(sql);
    out.print(" <table border=0 cellspacing=0 cellpadding=5>");
    while(rs.next())
    {
    int s_id=rs.getInt("id");
    String s_title=rs.getString("main_subject");
    String s_name=rs.getString("main_name");
    int hot=rs.getInt("hot");
    out.print("   <tr>");
    out.print("  <td><a href=view.jsp?id="+s_id+">"+s_title+"</a></td>");
    out.print("  <td>"+s_name+"</td>");
    String king=returnStr("1");
    out.print(king);
    out.print("  <td>"+hot+"</td>  ");
    out.print("   </tr>");
    }
    out.print(" </table>");
    rs.close();     stmt.close();
    conn.close(); %>
    由这里传一个值过去,String king=returnStr(1);返回值。
    out.print(king);输出值。
    出错在。。
    sql="select count(*) as num,max(addtime) as nowtime from liu_bbs where isguest=true and iswhomain="+iswhomainid+"";//执行sql
    Srs = stmt.executeQuery(sql);
    但这个sql执行是没有问题的。在access已经执行过。。
    如果不引用returnStr也不会有错误的。
      

  3.   

    你的king 值输到什么地方去的?out.print();
      

  4.   

    晕。你没有看。。king 直接。。输出的呀。他的结果来自。。上面定义的函数的呀。
      

  5.   

    statment一次只能有一个resultset,所以出错,你在函数中单独使用一个statement对象就可以了。