melodydream的个人博客分享 http://blog.sciencenet.cn/u/melodydream

博文

vector的使用

已有 3048 次阅读 2010-5-14 15:48 |个人分类:未分类|系统分类:观点评述

今天在做程序时用到了一个vector类,以前不知道怎么用,今天查了查,略有所懂,记录下来以防遗忘。

<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@page import="java.sql.*" %>
<%@ page import="java.util.Vector"%>;

<html>
<head>
<style type="text/css">
       h1 {color: red}
      
       h2{color: black}
</style>

<title>未引用javaBean的分页显示</title>
</head>
<body background="smile.gif" length="100" width="100">

<% Connection con=null;
   Statement sql=null;
   ResultSet rs=null;
   String strSQL="";
   int PageSize=2;
   int Page=1;
   int PageAllCount=1;//总页数
   int RowCount=0;
   Vector v=new Vector();
   try{
    Class.forName("oracle.jdbc.driver.OracleDriver");
    }
   catch(ClassNotFoundException e){   
   }
   try{
    con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:jh","jh","jh");
    sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    //输出记录
    strSQL="select * from student";
    rs=sql.executeQuery(strSQL);
    //算出总行数
    if(rs.next()){
     rs.last();
     RowCount=rs.getRow();    
    }
    //算出总页码数
    if(RowCount%PageSize==0)//如果是当前页码的整数倍
       PageAllCount=RowCount/PageSize;  
       else//如果最后还留一行
       PageAllCount=(RowCount+PageSize-1)/PageSize;
  
      if(PageAllCount==0) PageAllCount=1;
    //  算出显示页
    if(request.getParameter("Page")==null||request.getParameter("Page").equals(""))
     Page=1;
    else
     try{
      Page=Integer.parseInt(request.getParameter("Page"));
     }
    catch(java.lang.NumberFormatException e){
     //捕获用户从浏览器地址栏直接输入Page=sdfsdfsdf所造成的异常
     Page=1;
    }
    if(Page<1) Page=1;
    if(Page>PageAllCount) Page=PageAllCount;
   
    rs.absolute((Page-1)*PageSize +1); //定位到某一行
    %>
    <table border="10" cellspacing="0" cellpadding="0" align="center">;
   
       <colgroup span="5" style="color:brown" align="center"  width="100"/></colgroup>
 
   
    <tr>
    <th>NO</th>
    <th>NAME</th>
    <th>CHINESE</th>
    <th>MATH</th>
    <th>ENGLISH</th>
    </tr>
    <%
   
    //for(int i=1;i<=PageSize;i++)
    //{   
     
     
     Object[]   obj=new   Object[5];
     obj[0]=rs.getString("no");
     obj[1]=rs.getString("name");
     obj[2]=rs.getFloat("math");
     obj[3]=rs.getFloat("chinese");
     obj[4]=rs.getFloat("english");
    
     //System.out.println((String)v.elementAt(0));
     for(int i=0;i<5;i++){
     v.add(obj[i]);
     //System.out.println(obj1);
    
     }

    System.out.println(v);
    
    
    
     out.print("</TR>");
    // if(!rs.next()) break;
   // }
   out.print("</TABLE>");
   }  
 catch(SQLException e){
  e.printStackTrace();
 }  
   finally{
   sql.close();
   con.close();
   }
  
   %>
<center>
<h1>
      当前是第<%=Page%>页 共<%=PageAllCount%>页
</h1>
 <h2>


    <a href="1.jsp?Page=1">首页</a>    
    <%if(Page<PageAllCount){%><a href="1.jsp?Page=<%=Page+1%>">下一页</a><%}%>
    <%if(Page>1){%><a href="1.jsp?Page=<%=Page-1%>"> 上一页</a><%}%>
    <a href="1.jsp?Page=<%=PageAllCount%>">尾页</a>

</h2>
</center>
</body>
</html>

后台输出为[01        , 张三      , 68.0, 78.0, 67.0]



https://blog.sciencenet.cn/blog-437884-324411.html

上一篇:oracle数据库中分页查询
下一篇:把vector的内容输出到jsp页面上
收藏 IP: .*| 热度|

0

发表评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-10-20 06:03

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部