求助关于jsp与SQL2000数据库二次查询问题

作者在 2009-12-02 21:24:20 发布以下内容
二次查询,我想先将第一次的查询结果放入到一张表里面,第二次查询的时候就从表里面读出来。如果哪位高手愿意在线帮忙我的,可以加我的QQ号459048778,希望在各位的帮助下能够进步,先谢谢了!
以下是我的问题:
PageQueryJB.java
 
 
 
package my;
import java.sql.*;
import java.util.*;
public class PageQueryJB
{
   private Connection con=null;
   private Statement   st=null;
   private ResultSet   rs=null;  
   private ArrayList list=new ArrayList();  
      int totalPage=0;//总页数
  int pageSize=5; //一页中总记录数
  int currentPage=0; //当前页号
  int totalRecord=0;//总记录数
  int firstRecord=0;   
   public ArrayList pageQuery(String s,int pageNO)
   {
     try
     {
      DBConnection db=new DBConnection();
      con=db.getConnection();
      st=con.createStatement(
            ResultSet.TYPE_SCROLL_INSENSITIVE,
            ResultSet.CONCUR_READ_ONLY);      
      currentPage=pageNO;      
      String sql=null;
      StringTokenizer token=new StringTokenizer(s," ");
      while(token.hasMoreTokens())
      {
       String temp=token.nextToken();
       if(sql==null)
       {
        sql=" title like '%"+temp+"%'  ";
        }
       else
       {
        sql=sql+"  and title like '%"+temp+"%'  ";
        }
       }
      sql="select title,type,price into 信息表 from titles where "+sql;
       //这一行没有into 信息表时就可以第一次查询出来,添加了into 信息表就没办法查询出来了,请问是什么原因呢?
      rs=st.executeQuery(sql);      
      if(!rs.last())
     {
       return list;
      }
      totalRecord=rs.getRow(); //获得总记录数
      if(totalRecord%pageSize == 0)
      {
        totalPage=totalRecord/pageSize;
      }
     else
     {
    totalPage=totalRecord/pageSize+1;
   }
      if(currentPage>totalPage)
       return list;
        else
         firstRecord=(currentPage-1)*pageSize+1;      
      rs.absolute(firstRecord-1);      
      int counter=1;
      while( rs.next() && counter<=pageSize)
      {
       QueryVO vo=new QueryVO();
       int n=rs.getRow();
       vo.setRecID(String.valueOf(n));
       vo.setTitle(rs.getString("title"));
       vo.setType(rs.getString("type"));
       vo.setPrice(rs.getString("price"));
       list.add(vo);
       counter++;
       }
        rs.close();
        st.close();
        con.close();       
      }
     catch(Exception e)
     {
      System.out.println("数据库查询出错:"+e);
      }
     finally
     {
        rs=null;
        st=null;
        con=null;
      }
     return list;
    }
   ////////////////////
   public int getTotalPage()
   {
     return totalPage;
    }
   public int getPrepage()
   {
     int prePage=0;
     if(currentPage>1)
       prePage=currentPage-1;
     else
       prePage=1;
     return prePage;
    }
   public int getNextPage()
   {
     int next;
     if(currentPage==totalPage)
      next=totalPage;
     else
      next=currentPage+1;
     return  next;
    }
  
}
jsp学习 | 阅读 444 次
文章评论,共0条
游客请输入验证码
文章归档
最新评论