当前位置:首页 » 编程语言 » jspsql分页

jspsql分页

发布时间: 2022-04-23 19:15:47

❶ 有关JSP分页的sql语句!!

alter proc porcpagination
@tablename varchar(20) ,--表名
@keyname varchar(50)='',--主键
@pagesize int =10,--每页多少行
@pageindex int=1 ,--现在是第几页
@columnnames varchar(200)='*',--显示那些列
@orderType bit=0 ,--排序规则
@wherestr varchar (500)='' ,--条件
@pagecount bit =0--返回行数
as
declare @sql varchar(1000)
declare @orderstr varchar(50)
declare @maxorminstr varchar (50)
if @pagecount<>0
begin
if @wherestr<>''
set @sql='select count(*) as pagecount from '+@tablename +' where '+@wherestr
else
set @sql='select count(*) as pagecount from '+@tablename
end
else
begin
if @columnnames=''
set @columnnames='*'
if @orderType<>0
begin
set @orderstr=' order by '+ @keyname +' desc '
set @maxorminstr ='>=(select min('+@keyname+') '
end
else
begin
set @orderstr=' order by '+ @keyname
set @maxorminstr ='>=(select max('+@keyname+') '
end
if @wherestr<>''
begin
set @sql='select top '+convert(varchar(50),@pagesize)+
' '+@columnnames +' from '+@tablename +' where '+@keyname+' '
+@maxorminstr+' from (select top '+
convert(varchar(50),(@pageindex-1)*@pagesize)+@columnnames +
' from '+@tablename +@orderstr+') as tmptable) and'+ @wherestr +@orderstr
end
else
begin
set @sql='select top '+convert(varchar(50),@pagesize)+
' '+@columnnames +' from '+@tablename +' where '+@keyname+' '
+@maxorminstr+' from (select top '+
convert(varchar(50),(@pageindex-1)*@pagesize)+@columnnames +
' from '+@tablename +@orderstr+') as tmptable)'+@orderstr
end
exec (@sql)
--print @sql

end

exec porcpagination 'jobs','min_lvl' ,2,3,'',1--调用

❷ jsp分页SQL以及java代码怎么写

CREATE PROCEDURE [up_ARCH_DCFJ_Paged]
@pagesize int, --每页显示的记录数
@pageindex int, --当前页索引,最小值为1
@RecordCount int output --总记录数,<0时不统计结果记录
AS

SET NOCOUNT ON

DECLARE @indextable TABLE(rowid INT IDENTITY(1,1),nid INT)
INSERT INTO @indextable(nid) --将符合的记录插入到临时表中
SELECT [FileID]
FROM [ARCH_DCFJ]
ORDER BY [FileID] DESC

IF(@RecordCount<0)
BEGIN
SELECT @RecordCount= Count(1) FROM @indextable
END

DECLARE @PageLowerBound INT
DECLARE @PageUpperBound INT
SET @PageLowerBound=(@pageindex-1)*@pagesize
SET @PageUpperBound=@PageLowerBound+@pagesize
SET ROWCOUNT @PageUpperBound--最多执行行数 若下面还有超过此值的行数,请注释此行

SELECT a.*
FROM [ARCH_DCFJ] a,@indextable t
WHERE a.[FileID]=t.nid and t.rowid>@PageLowerBound and t.rowid<=@PageUpperBound
ORDER BY t.rowid

SET NOCOUNT OFF

GO

❸ jsp 提取sql 数据库 分页显示

从ResultSet rs=stmt.executeQuery(sql); 开始后面这么写:

int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
int i;//设置一页显示的记录数
intPageSize = 4;//取得待显示页码
strPage = request.getParameter("page");
if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
}
else{//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
}
sqlRst.last();
intRowCount = sqlRst.getRow();//获得当前行号
intPageCount = (intRowCount+intPageSize-1) /intPageSize;
//调整待显示的页码
if(intPage>intPageCount) intPage = intPageCount;
int thepage=(intPage-1)*intPageSize;
int n=0;
rs.absolute(thepage+1);
while (n<(pageSize)&&!rs.isAfterLast()){%>

<tr>
<td><%=rs.getString(1)%> </td>
<td><%=rs.getString(2)%> </td>
<td><%=rs.getString(3)%> </td>
<td><a href="change.jsp?xuehao=<%=rs.getString(1)%>">修改</a>
<td><a href="del.jsp?xuehao=<%=rs.getString(1)%>">删除</a>
</tr>

<%
}%>

<form name="sinfo" method="post" action="" onSubmit="return testform(this)">
第<%=currPage%>页 共<%=pageCount%>页 共<%=rowCount%>条
<%if(currPage>1){%><a href="?">首页</a><%}%>
<%if(currPage>1){%><a href="?page=<%=currPage-1%>上一页</a><%}%>
<%if(currPage<pageCount){%><a href="?page=<%=currPage+1%>">下一页</a><%}%>
<%if(pageCount>1){%><a href="?page=<%=pageCount%>">尾页</a><%}%>
跳到<input type="text" name="page" size="4" style="font-size:9px">页
<input type="submit" name="submit" size="4" value="GO" style="font-size:9px">
</form>

❹ JSP中如何使用SQL存储过程或JAVA实现分页显示多表查询数据

Java调用
存储过程

CallableStatement
proc
=
null;
proc
=
conn.prepareCall("{
call
SCOTT.TESTA(?,?)
}");
proc.setString(1,
"100");
proc.registerOutParameter(2,
Types.VARCHAR);
proc.execute();
String
testPrint
=
proc.getString(2);
第二个问号是out类型的参数
JAVA实现分页显示多表查询数据?
分页可以使用网络上提供的分页类的做。。
至于多表查询的数据
只是
多张表关联在一起,跟分页没有太大的关系

❺ 关于JSP分页的SQL语句的疑问

首先,用"select * from bean"返回一个结果集Resultset;
然后,用"Resultset.absolute()"把游标指针移动到pageNo*5-5条记录的位置;
最后,使用输出语句输出"Resultset.getString()"获取的字段值,同时游标指针向下移动一次,如果每页显示5条记录的话,只需要用循环语句把这一步循环5次就可以了。

❻ jsp使用mysql数据库,如何实现分页显示

jsp 连接sql2005

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<%@page import="javax.sql.*,javax.naming.*"%>
<table border="2" align="center">
<tr>
<td>emp_id</td>
<td>fname</td>
<td>minit</td>
<td>lname</td>
<td>job_id</td>
<td>job_lvl</td>
<td>pub_id</td>
<td>hire_date</td>
</tr>
<% //声明变量
ResultSet rs=null; //结果集对象
Statement stmt=null; //SQL语句对象
Connection conn=null; //数据库连接对象
int intPageSize;//一页显示的记录数
int intRowCount;//记录总数
int intPageCount;//总页数
int intPage;//待显示的页码
java.lang.String strPage;
int i;
intPageSize=5;//每页5条记录,要设置每页记录条数就更改这个变量的值
strPage=request.getParameter("page"); //取得待显示页码
if(strPage==null){intPage=1;}//设置当前页面为第1页
else{
intPage=java.lang.Integer.parseInt(strPage);//将字符串转换成整型
if(intPage<1)intPage=1;
}
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载驱动
String url="jdbc:sqlserver://localhost:1433;databaseName=pubs;user=sa;password=123456";
conn = DriverManager.getConnection(url);

stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//创建一个可以滚动的只读的SQL语句对象
String sql="select emp_id,fname,minit,lname,job_id,job_lvl,pub_id,hire_date from employee ";//SQL语句
//stmt=conn.createStatement();
rs=stmt.executeQuery(sql);//执行SQL语句并获取结果集
rs.last();//光标指向查询结果集中最后一条记录
intRowCount=rs.getRow();//获取记录总数
intPageCount=(intRowCount+intPageSize-1)/intPageSize;//记算总页数
if(intPage>intPageCount)//调整待显示的页码
intPage=intPageCount;
if(intPageCount>0)
{ //将记录指针定位到待显示页的第一条记录上
rs.absolute((intPage-1)*intPageSize+1);
i=0; //显示数据
while(i< intPageSize && !rs.isAfterLast()) {%>

<tr>
<td><%=rs.getString("emp_id")%></td>
<td><%=rs.getString("fname")%></td>
<td><%=rs.getString("minit")%></td>
<td><%=rs.getString("lname")%></td>
<td><%=rs.getString("job_id")%></td>
<td><%=rs.getString("job_lvl")%></td>
<td><%=rs.getString("pub_id")%></td>
<td><%=rs.getString("hire_date")%></td>
</tr>
<%rs.next();
i++;
}
}
%>
</table>
<hr>
<div align="center">第<%=intPage%>页,共<%=intPageCount%>页
<%if(intPage<intPageCount){%>
<a href="page_show.jsp?page=<%=intPage+1%>">下一页</a>
<%}%>
<%if(intPage>1){%>
<a href="page_show.jsp?page=<%=intPage-1%>">上一页</a>
<%}%>

<% rs.close();//关闭结果集
stmt.close();//关闭SQL语句对象
conn.close();//关闭数据库
%>
</div>
</body>
</html>

❼ jsp+my sql怎么实现分页..麻烦告知代码(要亲自试验过可以的)

select
*
from

where
条件
limit
A,B
意思是从第A条记录开始取,取到B条记录结束。
你先“select
count(0)
from
表”取记录总数,total。
然后你如果每页显示X条记录,可以算出总共有多少页,然后设当前页为P,
根据这个求出A和B带到最上面的sql语句中查出结果即可。
A=(P-1)*X+1
B=A+X

❽ jsp连接SQL数据库实现分页代码

int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
java.lang.String strPage;

int i;

//设置一页显示的记录数
intPageSize = 2;

//取得待显示页码
strPage = request.getParameter( "page ");
if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
}
else{//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage <1) intPage = 1;
}

❾ jsp分页和SQL分页哪个效率高

数据量不大页面分页效率高,第一次加载可能有点慢
数据量大的话数据库分页效率稍高,每次分批取数据
不用一次把全部数据取到,试想如果几百万条数据用
页面分页把数据一次全取到,那估计你浏览器也挂了

热点内容
汇编语言第三版脚本之家 发布:2025-05-17 20:54:26 浏览:399
资源配置最佳状态叫什么 发布:2025-05-17 20:48:58 浏览:84
定义dns服务器的ip 发布:2025-05-17 20:32:37 浏览:954
android判断图片 发布:2025-05-17 20:32:33 浏览:833
安卓12什么时候适配小米 发布:2025-05-17 20:31:47 浏览:71
c语言字符串初始化 发布:2025-05-17 20:18:43 浏览:37
安卓融e联推送需要什么权限 发布:2025-05-17 20:18:39 浏览:269
我的世界无限武魂服务器 发布:2025-05-17 20:17:09 浏览:372
安卓手游脚本语言 发布:2025-05-17 19:53:07 浏览:22
找圈算法 发布:2025-05-17 19:49:19 浏览:411