JDBC操作 SQL SERVER之数据的分页显示

 

<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@ page import="java.sql.*" %>
<%
     try
{
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
}
catch(ClassNotFoundException e)
{
   out.print(e.toString()) ; 
}
%>
<%
    int  pages=1 ;
    String pram=request.getParameter("page") ;
    if(pram==null)
    {
     pram="1"  ;
      pages=1 ;
    }
    else
    { 
     pages=Integer.parseInt(pram) ;
    }  
%>
<html>
<head>
<title>分页显示数据记录</title>
</head>
<body>
<%
   Connection  c ;
   Statement  s ;
   ResultSet  r ;
   try
   {  
    int countRow= 5 ;  //每页几行
    int allCount ;//总行数
    int countPage ;//总页数
   
    c=DriverManager.getConnection("jdbc:odbc:testDatabase","sa","7603835") ;
    s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)  ;//可以滚动可以从结果及更新的ResultSet对象
    r=s.executeQuery("Select * from info") ;  
    r.last() ;
    allCount=r.getRow() ; //获得最大的行数
    int n=allCount%countRow;
    if(n==0)
     countPage=allCount/countRow;
    else
     countPage=allCount/countRow+1;
    out.print("<table border  width=500 >") ;
    out.print("<tr><td colspan=2 align=center >用户信息表</td> </tr>") ;
    out.print("<tr><td width=%50>USERNAME</td><td width=%30>PASSWORD</td></tr>");
    if(pages-1==0)  
          r.first() ;//因为我们吧指针移动到了最后所以一定要移动回去
          else
         r.absolute((pages-1)*5) ; //数据指针移动到当前行的当前页的前面一行
    int i=0 ;
    while(r.next())
    {
  out.print("<tr><td>" + r.getString(1)+"</td>");
  out.print("<td>" + r.getString(2)+"</td>") ;
  out.print("</tr>") ;
  i++ ;
  if(i>=countRow)
   break ;
    }
 
  if(pages==1)   
      out.print("<tr><td colspan=2 align=center >共" +countPage+"页,当前第"+pages+"页,<a href=NewFile.jsp?page="+(pages+1)+">下一页</a></td></tr>") ;
  else   if(pages==countPage)
   {
    out.print("<tr><td colspan=2 align=center >共" +countPage+"页,当前第"+pages+"页,<a href=NewFile.jsp?page="+(pages-1)+">上一页</a></td></tr>") ;
   }else
    out.print("<tr><td colspan=2 align=center >共" +countPage+"页,当前第"+pages+"页,<a href=NewFile.jsp?page="+(pages-1)+">上一页</a>,<a href=NewFile.jsp?page=" +(pages+1)+">下一页</a>"   +"</td></tr>") ;
    out.print("</table>") ; 
  r.close() ;
  s.close() ;
  c.close();  //使用完毕后一定要关闭释放数据库的链接资源 否则提交页面的时候 会出现错误 
 
   }
   catch(Exception e)
   {
    out.print(e.toString()) ;
   }

%>
</body>
</html>

时间: 2024-10-26 11:10:02

JDBC操作 SQL SERVER之数据的分页显示的相关文章

SQL Server 大量数据的分页存储过程代码

  OK,我们首先创建一数据库:data_Test,并在此数据库中创建一表:tb_TestTable create database data_Test --创建数据库data_Test GO use data_Test GO create table tb_TestTable --创建表 ( id int identity(1,1) primary key, userName nvarchar(20) not null, userPWD nvarchar(20) not null, userE

sql server 2012-sql server导出数据后打开显示“文件格式或文件扩展名无效“

问题描述 sql server导出数据后打开显示"文件格式或文件扩展名无效" 如题,我sql导出数据的语句是 EXEC master..xp_cmdshell 'bcp GTA_SeL1_TAQ_200601.dbo.SHL1_TAQ_600000_200601 out E:600000_200601.xlsx -T -c -q'; 能导出数据,但是打开时显示"文件格式或文件扩展名无效,请确定文件未损坏并且文件扩展名与文件格式一致" 谢谢各位! 解决方案 直接用文本

《SQL Server企业级平台管理实践》读书笔记——SQL Server中数据文件空间使用与管理

原文:<SQL Server企业级平台管理实践>读书笔记--SQL Server中数据文件空间使用与管理 1.表和索引存储结构 在SQL Server2005以前,一个表格是以一个B树或者一个堆(heap)存放的.每个B树或者堆,在sysindexes里面都有一条记录相对应.SQL Server2005以后,引入了分区表的概念(Table Partition),在存储组织上,现有的分区基本上替代了原来表格的概念,原先表的概念成为了一个逻辑概念.一个分区就是一个B树或者一个堆.而一张表格则是一个

SQLServer · 最佳实践 · SQL Server 2012 使用OFFSET分页遇到的问题

title: SQLServer · 最佳实践 · SQL Server 2012 使用OFFSET分页遇到的问题 author: 石沫 1. 背景 最近有一个客户遇到一个奇怪的问题,以前使用ROW_NUMBER来分页结果是正确的,但是替换为SQL SERVER 2012的OFFSET...FETCH NEXT来分页出现了问题,因此,这里简单分析一下原因,更深层次的原因还没有确切的结论,但可以提供解决办法. 在升级数据库后并且应用新功能时,这个问题可能会困扰一些同学. 2. 现象 为了复现在这个

操作 SQL Server Mobile 2005 数据库的常用 C# 代码

server|sql|数据|数据库 整理几段操作 SQL Server Mobile 数据库的常用 C# 代码,供刚刚接触 SQL Server Mobile 开发的朋友参考. 1. 创建数据库// 创建数据库File.Delete("Test.sdf");SqlCeEngine engine = new SqlCeEngine(    "Data Source='Test.sdf';LCID=1033;Password=\"s$;2'!dS64\";En

jdbc连接SQL Server数据库的注意事项及编程应用实例

首先,关于数据库的安装方法在本文中就不再累赘,详情请见我的上一篇博客. http://cq520.iteye.com/admin/blogs/1982097 不过需要注意的是,由于装有Windows操作系统下的电脑都默认有SQL Server,所以大家可以打开自己 的电脑看一下自己的电脑里面是哪个SQL Server 版本(在开始菜单中找到Microsoft SQL Server文件夹 ,后面的版本号就是本机的SQL Server 版本). 不过系统自带的SQL Server可能并没有管理工具(

Visual C#中动态操作SQL Server数据库

在编写数据库应用程序的时候,我们可以通过SQL语句来动态创建.修改数据库以及其中的对象.本文我就向大家介绍如何运用Visual C#来动态操作SQL Server数据库,其中包括如何创建一个SQL Server数据库以及如何创建其中的表.存储过程.视图.索引之类的数据库对象.本文还介绍了如何动态地修改表的模式,如何从表.存储过程以及视图中读取数据并显示在应用程序的数据库控件中. 我们知道SQL语句在操作数据库时运用得最多的是Select.Insert.Update和Delete等对于数据的操作,

RDA实现SQL CE与SQL Server间数据存取

本文介绍如何利用 RDA(RemoteDataAccess远程数据存取)实现掌上电脑Pocket PC(简称PPC)上的SQL Server CE 2.0与桌面SQL Server 2000数据库间的数据存取.我们将采用Visual Basic .Net 2003进行智能设备端的程序开发. 一. 概述 PPC程序与桌面PC进行通信的编程方式目前有两种,1.利用Socket编程与桌面程序进行通信:2.利用RDA和Replication(复制)进行数据库编程来完成与桌面SQL Server数据库的存

在SQL Server中将数据导出为XML和Json的方法

 有时候需要一次性将SQL Server中的数据导出给其他部门的也许进行关联或分析,这种需求对于SSIS来说当然是非常简单,但很多时候仅仅需要一次性导出这些数据而建立一个SSIS包就显得小题大做,而SQL Server的导入导出工具其中BUG还是蛮多的,最简单的办法是BCP.   数据导出为XML     在SQL Server 2005之后提供了一个for xml子句在关系数据库中原生支持XML.通过该命令可以将二维关系结果集转换为XML,通过BCP就可以将数据存为XML了.     例如下面