<% int i=0,s=0,uid=0,yid=0;
    String  uquestion="";   
 if(!showy.checkexam()){//判断是否存在试题
  if(showy.showexam()){//如果存在,显示试题的题号和题目内容
  s=showy.getsum();  
  uid=showy.getfid();
  uquestion=showy.getfquestion();
  yid=showy.getmid(); 
  %>
  <table width="64%" height="44" border="0" align="center">
  <tr>
    <td width="15%">题号</td>
    <td width="38%">题目</td>
    <td width="18%">修改</td>
    <td width="29%">删除</td>
  </tr>
  <tr>
    <td><%=uid%></td>
    <td><%=uquestion%></td>
    <td><a href="xmanageamendexam.jsp?xid=<%=uid%>&tid=<%=yid%>">修改</a></td>
    <td><a href="xmangedelokexam.jsp?cid=<%=yid%>">删除</a></td>
  </tr>
</table>
 <%  }else{   
  out.print("不能显示");
  }
 }else{
  out.print("不存在题型");
  }
%>

解决方案 »

  1.   

    上面的代码只能显示一行数据(题号和题目内容)
      请问各位高手怎么写代码显示多行数据  (要求:在showexam.java中从数据库提取多行数据,然后在jsp页面中利用组件把showexam.class中的数据给提出并显示)
      帮帮忙!!!
      

  2.   

    <tr>
        <td><%=uid%></td>
        <td><%=uquestion%></td>
        <td><a href="xmanageamendexam.jsp?xid=<%=uid%>&tid=<%=yid%>">修改</a></td>
        <td><a href="xmangedelokexam.jsp?cid=<%=yid%>">删除</a></td>
      </tr>
    要放在if(rs.next())
    {
    }
    循环里
      

  3.   

    <html>
    <head>
    <%@ page contentType="text/html;charset=gb2312" %>
    <title>会员管理</title>
    <link rel=stylesheet href="../style.css" type="text/css">
    <script LANGUAGE="javascript">
    function newwin(url) {
      var newwin=window.open(url,"newwin","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=600,height=450");
      newwin.focus();
      return false;
    }
    </script>
    </head>
    <body>
    <script LANGUAGE="javascript">
    function submit10()
    {
    self.location.replace("admin_user.jsp")
    }
    </script>
    <jsp:include page="../top.jsp" flush="true"/>
    <center><p><h4><font color="blue">会员管理</font></h4></p>
    <%@ page language="java" import="java.sql.*" %>
    <jsp:useBean id="adminBean" scope="page" class="firm.firm" />
    <%
    //指定行数
    int pageLine=10;
    int totalRec=0;
    int totalSub=0;
    int intPage=1;
    int i;
    if (request.getParameter("page")!=null)
    intPage=Integer.parseInt(request.getParameter("page"));try{
    ResultSet countrs=null;//取得总记录数
    countrs=adminBean.executeQuery("select count(*) as cnt from user where name<>'administrator'");
    if (countrs.next())
     totalRec=countrs.getInt("cnt");
    countrs.close();
    adminBean.closeStmt();}
    catch(Exception e){
       e.printStackTrace();
    }//取得总页数
    int intPageCount=0;
    intPageCount = (totalRec+pageLine-1) / pageLine;
    %>
    <%
    ResultSet RS = adminBean.executeQuery("SELECT * FROM user  where name<>'administrator' order by id desc");
    String name;
    String userid;%>
    <table border='1' cellspacing='0' width='500' bgcolor='#d7e3b9' bordercolorlight='#green' bordercolordark='#ECF5FF'>
    <tr bgcolor='#c8cc98' align='center'>
       <td width='8%'>ID</td>
       <td width='14%'>会员名</td>
       <td width='8%' >删除</td>
    </tr>
    <%
    if (intPageCount>0)
    {
               for(i=1;i<=(intPage-1)*pageLine;i++)
    RS.next();
       for(i=1;i<=pageLine;i++) {
    if (RS.next()) {                        name=RS.getString("name");
                            userid=RS.getString("id");
    %>
    <tr>
       <td width='8%' align='center'><%=userid%></td>
       <td width='14%' align='center'><%=name%></td>
       <td width='8%' align='center'><a href="delete.jsp?id=<%=userid%>" onClick="return newwin(this.href);">删除</a></td>
    </tr>
    <%
      }
    }
    RS.close();
    }
    %>
    <!--以下用于分页显示 -->
    <%
     out.print("<tr>");  
     if (intPageCount*pageLine<totalRec) 
       intPageCount++;
     if (intPage>intPageCount )
    intPage=intPageCount;
     if (intPage < 1 )
    intPage=1;
    out.print("<form method='POST'  name=fPageNum  action='admin_user.jsp'>");
    out.print("<p align='left'>&gt;&gt;分页&nbsp;");
      
       if (intPage<2)
         out.print("<font color='999966'>首页 上一页</font>&nbsp;");
       else{   
       out.print("<a href='admin_user.jsp?page=1'>首页</a>&nbsp;");   
         out.print("<a href='admin_user.jsp?page=" + (intPage-1) + "'>上一页</a>&nbsp;"   );
         }
      
         
       if( intPage-intPageCount>=0 )
         out.print("<font color='999966'>下一页 尾页</font>"   );
       else{   
      
         out.print("<a href='admin_user.jsp?page=" + (intPage+1)+ "'>下一页</a> <a href='admin_user.jsp?page=" + intPageCount + "'>尾页</a>");
         }
     
            out.print("&nbsp;页次:<strong><font color=red>"+intPage+"</font>/"+intPageCount+"</strong>页 "   );
        out.print("&nbsp;共<b>"+totalRec+"</b>条记录 <b>"+pageLine+"</b>条/页 "   );
        out.print(" 转到第<input type='text' name='page' size=2 maxlength=10 class=smallInput value="+intPage+">");   
        out.print("页<input class=buttonface type='submit'  value='GO'  name='cndok'></span></p></form>"  );  out.print("</td>");
    out.print("</tr>"); 

    %>
    </table></p>
    <a href="javascript:window.close();">[关闭]</a>
    </center>
    <jsp:include page="../bottom.jsp" flush="true"/>
    </body>
    </html>
      

  4.   

    多谢任我行大侠的帮帮!!!!  但能不能用.java文件来处理
       if(rs.next()){
      //取数据(取出会员的id和会员名) }
    //在.class文件中完成提取多行数据的操作 然后在Jsp页面中利用组件把.class文件提取的数据一一在页面中显示!  再帮帮忙,想想!
      

  5.   

    我 up!
       我 up
      

  6.   

    *******************
    * Tmsheng(小唐蔡)**
    *******************
    package mshtang.html;
    /**
     * <p>Title: DataBaseQuery</p>
     * <p>Description: 用于数据库翻页查询操作</p>
     * <p>Copyright: 厦门一方软件公司版权所有Copyright (c) 2002</p>
     * <p>Company: 厦门一方软件公司</p>
     * @author 小唐蔡
     * @version 1.0
     */
    import java.sql.*;
    import javax.servlet.http.*;
    import java.util.*;
    import mshtang.StringAction;
    public class DataBaseQuery
    {  private HttpServletRequest request;
      private StringAction S;
      private String sql;
      private String userPara;
      private String[][] resultArray;
      private String[] columnNameArray;
      private String[] columnTypeArray;
      private int pageSize;
      private int columnCount;
      private int currentPageNum;
      private int currentPageRecordNum;
      private int totalPages;
      private int pageStartRecord;
      private int totalRecord;
      private static boolean initSuccessful;
      private String currentJSPPageName;
      private String displayMessage;  public DataBaseQuery()
      {
        S = new StringAction();
        sql = "";
        pageSize = 10;
        totalRecord = 0;
        initSuccessful = false;
        currentJSPPageName = "";
        displayMessage = "";
        columnNameArray = null;
        columnTypeArray = null;
        currentPageRecordNum = 0;
        columnCount = 0;
      }  /**功能:数据库初始化操作,其它操作的前提。
       *
       * @param conn:数据库连接;
       * @param request:jsp页面request对象;
       * @param querySQL:查询语句;
       * @param pageSize:每页显示记录数;
       * @param startPageNum:开始显示页码
       */
      public void init(Connection conn, HttpServletRequest request, String querySQL, int pageSize, int startPageNum)
      {
        if(conn != null)
        {
          this.request = request;
          this.sql = request.getParameter("querySQL");
          this.userPara = request.getParameter("userPara");
          if(sql == null || sql.equals(""))
          {
            sql = querySQL;
          }
          if(this.userPara == null)
          {
            this.userPara = "";
          }
          if(S.isContains(sql, "select;from", ";", true))
          {
            try
            {
              Statement st = conn.createStatement();
              ResultSet rs = st.executeQuery(sql);
              ResultSetMetaData rsmd = rs.getMetaData();
              columnCount = rsmd.getColumnCount();
              columnNameArray = new String[columnCount];
              columnTypeArray = new String[columnCount];
              String columnName;
              String value;
              while(rs != null && rs.next())
              {
                totalRecord++;
                if(totalRecord == 1)
                {
                  for(int i = 0; i < columnCount; i++)
                  {
                    columnNameArray[i] = rsmd.getColumnName(i + 1);
                    columnTypeArray[i] = rsmd.getColumnTypeName(i + 1);
                  }
                }
              }
              if(rs != null)
              {
                rs.close();
              }
              //在总记录数大于0的情况下进行下列操作          //获取链接图象
              if(totalRecord > 0 && pageSize > 0 && columnCount > 0 && startPageNum > 0)
              {
                //获取总页数
                totalPages = totalRecord / pageSize;
                int tempNum = totalRecord % pageSize;
                if(tempNum != 0)
                {
                  totalPages++;
                }            //获得当前页页码
                String currentPage = request.getParameter("currentPageNum");
                currentPageNum = (currentPage == null || currentPage.equals(""))? startPageNum:Integer.parseInt(currentPage);
                currentPageNum = (currentPageNum > totalPages)?totalPages:currentPageNum;
                currentPageNum = (currentPageNum <= 0)?1:currentPageNum;            //获得当前页起始显示记录数
                pageStartRecord = (currentPageNum - 1) * pageSize + 1;
                pageStartRecord = (pageStartRecord <= 0)?1:pageStartRecord;
                pageStartRecord = (pageStartRecord > totalRecord)?totalRecord:pageStartRecord;            //获得当前页显示记录数
                if(currentPageNum * pageSize > totalRecord)
                {
                  currentPageRecordNum = totalRecord - (currentPageNum - 1) * pageSize;
                }
                else
                {
                  currentPageRecordNum = pageSize;
                }
                resultArray = new String[currentPageRecordNum][columnCount];            //用于跳过前面不需显示的记录
                int continueRowNum = 0;            //用于跳过后面不再显示的记录
                int breakRowNum = 0;            ResultSet rs2 = st.executeQuery(sql);
                while(rs2 != null && rs2.next())
                {
                  //跳过前面不需显示的记录
                  continueRowNum++;
                  if(continueRowNum < pageStartRecord)
                  {
                    continue;
                  }
                  //存取当前页需显示的记录到二维数组
                  for(int i = 0; i < columnCount; i++)
                  {
                    value = rs2.getString(columnNameArray[i]);
                    value = (value == null)?"":value.trim();
                    resultArray[breakRowNum][i] = value;
                  }
                  //跳过后面不再显示的记录
                  breakRowNum++;
                  if(breakRowNum >= currentPageRecordNum)
                  {
                    break;
                  }
                }
                rs2.close();
              }
              st.close();
            }
            catch(SQLException e)
            {
              if(e != null)
              {
                e.printStackTrace();
              }
            }
          }
          transferSQL(sql);
          initSuccessful = true;
        }
      }  /**功能:数据库初始化操作,其它操作的前提,默认每页显示10条记录。
       *
       * @param conn:数据库连接;
       * @param request:jsp页面request对象;
       * @param querySQL:查询语句;
       * @param startPageNum:开始显示页码
       */
      public void init(Connection conn, HttpServletRequest request, String querySQL, int startPageNum)
      {
        init(conn, request, querySQL, 10, startPageNum);
      }  /**功能:数据库初始化操作,其它操作的前提,默认从第一页开始显示。
       *
       * @param conn:数据库连接;
       * @param request:jsp页面request对象;
       * @param querySQL:查询语句;
       * @param pageSize:每页显示记录数;
       */
      public void init(Connection conn, HttpServletRequest request, int pageSize, String querySQL)
      {
        init(conn, request, querySQL, pageSize, 1);
      }  /**功能:数据库初始化操作,其它操作的前提,默认从第一页开始显示,每页显示10条记录。
       *
       * @param conn:数据库连接;
       * @param request:jsp页面request对象;
       * @param querySQL:查询语句;
       */
      public void init(Connection conn, HttpServletRequest request, String querySQL)
      {
        init(conn, request, querySQL, 10, 1);
      }  /**功能:给出没有初始化的提醒信息,内部调用。
       *
       */
      private static void getMessage()
      {
        if(!initSuccessful)
        {
          System.out.println("没有完成初始化");
        }
      }  /**功能:得到查询结果的总记录数。
       *
       * @return
       */
      public int getTotalRecord()
      {
        getMessage();
        return totalRecord;
      }  /**功能:得到当前页的页码
       *
       * @return
       */
      public int getCurrentPageNum()
      {
        getMessage();
        return currentPageNum;
      }  /**功能:获得当前页记录数
       *
       * @return
       */
      public int getCurrentPageRecord()
      {
        getMessage();
        return currentPageRecordNum;
      }