儲存過程 資料的分頁

2021-09-08 21:36:19 字數 1220 閱讀 7936

這個儲存過程用來資料的分頁,裡面構造的乙個函式實現這個功能;

if  object_id('fenye','p') is not null  

/*判斷是否存在fenye這個儲存過程*/   

drop  proc fenye go create procedure [dbo].[fenye] @currentpage  int=1, 

/*記錄當前的頁數,初始值為1*/

@count  int=10,     

/*每乙個頁面所顯示的資料量*/

@tablename varchar(20), 

/*所查詢的表的名字*/

@colunm  varchar(20)   

/*表中查詢的字段*/

as declare   @sql  nvarchar(1000) 

/*定義查詢字段變數*/

set  @sql=n'select  top '+ cast(@count as nvarchar(3))

/*將字串變數轉換成字元型*/

set  @sql=@sql+n'  *  from '+@tablename+' where '+@colunm+' not in (' set  @sql=@sql+n' select top '+cast(((@currentpage-1)*@count) as  nvarchar(3)) set  @sql=@sql+@colunm+n' from '+@tablename+')' select @sql  

/*顯示出插敘語句*/

exec  (@sql) go

exec fenye 1,3,'dbo.article_comment','articleid' 

/*執行查詢*/

go/*這裡面是構造查詢所有資料記錄的條數的函式*/

declare  @temp  nvarchar(500)  declare  @tablename  nvarchar(50) declare  @count  int set  @tablename=n'dbo.article_comment' set  @temp=n' select  @a=count(*) from '+@tablename exec  sp_executesql @temp ,n'@a int output',@count output

/*呼叫的是系統中的乙個函式 sp_executesql(執行的sql語句,輸出變數的函式型別,輸出變數的函式)*/

select @count

資料分頁 儲存過程

if exists select from sys.objects where name pagination drop procedure pagination gocreate procedure pagination tblname nvarchar 255 表名 strgetfields n...

資料分頁 儲存過程

if exists select from sys.objects where name pagination drop procedure pagination gocreate procedure pagination tblname nvarchar 255 表名 strgetfields n...

分頁儲存過程 分頁儲存過程

分頁儲存過程 alter proc dbo p pageshow pagesize int,每頁大小 currentpage int out,當前頁 housename nvarchar 50 房產名稱 totalcount int out,總記錄數 totalpage int out 總頁數 as...