當前位置:首頁 » 編程語言 » 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分頁哪個效率高

數據量不大頁面分頁效率高,第一次載入可能有點慢
數據量大的話資料庫分頁效率稍高,每次分批取數據
不用一次把全部數據取到,試想如果幾百萬條數據用
頁面分頁把數據一次全取到,那估計你瀏覽器也掛了

熱點內容
xpftp外網 發布:2025-05-17 23:58:11 瀏覽:384
如何評價一個伺服器的性能 發布:2025-05-17 23:40:53 瀏覽:270
淘寶客適合什麼伺服器 發布:2025-05-17 23:39:26 瀏覽:612
python循環文件 發布:2025-05-17 23:39:22 瀏覽:828
androidstudio更新 發布:2025-05-17 23:38:22 瀏覽:643
java項目面試 發布:2025-05-17 23:30:53 瀏覽:780
若主存儲器按位元組編址 發布:2025-05-17 23:30:46 瀏覽:24
kotlinandroid 發布:2025-05-17 23:19:09 瀏覽:974
雲編程英語 發布:2025-05-17 23:18:34 瀏覽:623
androidstudio導入類 發布:2025-05-17 23:15:36 瀏覽:237