/*
descript:單頁資料儲存過程
author:xqf222
date:10:38 2007-7-31
*/create procedure sp_singlepagedata(
@tablename nvarchar(200), ----要顯示的表或多個表的連線
@selectfields nvarchar(200) = '*', ----要顯示的字段列表
@primaryfiled nvarchar(50), ----主表的主鍵
@sortfield nvarchar(100) = null, ----排序字段列表或條件
@sortorder bit = 0, ----排序方法,0為公升序,1為降序
@selectcondition nvarchar(200) = null,----不帶where字串的查詢條件
@totalcounts int output ----返回查詢到的記錄總數)as
declare @sqltmp nvarchar(1000) ----存放動態生成的sql語句
declare @strtmp nvarchar(1000) ----存放取得查詢結果總數的查詢語句
declare @sqlsort nvarchar(200) ----存放臨時生成的排序條件
--生成查詢語句--------
--此處@strtmp為取得查詢結果數量的語句
if @selectcondition is null --沒有設定顯示條件
begin
set @sqltmp = 'select ' + @selectfields + ' from ' + @tablename
set @strtmp = 'select @totalcounts=count(' + @primaryfiled + ') from '+@tablename
endelse
begin
set @sqltmp = 'select ' + @selectfields + ' from ' + @tablename + ' where ' +
@selectcondition
set @strtmp = 'select @totalcounts=count(' + @primaryfiled + ') from '+@tablename + '
where ' + @selectcondition
end--取得查詢結果總數量-----
exec sp_executesql @strtmp,n'@totalcounts int out ',@totalcounts out
--print @totalcounts
--生成排序字串
if @sortorder=0 --公升序
begin
if not(@sortfield is null)
set @sqlsort = ' order by ' + @sortfield
else
set @sqlsort = ' order by ' + @primaryfiled
endelse --降序
begin
if not(@sortfield is null)
set @sqlsort = ' order by ' + @sortfield + ' desc'
else
set @sqlsort = ' order by ' + @primaryfiled + ' desc '
end--生成最終查詢字串
if @sqlsort is null
set @sqltmp = @sqltmp
else
set @sqltmp = @sqltmp + @sqlsort
--print @sqltmp
exec sp_executesql @sqltmp
go
分頁儲存過程 分頁儲存過程
分頁儲存過程 alter proc dbo p pageshow pagesize int,每頁大小 currentpage int out,當前頁 housename nvarchar 50 房產名稱 totalcount int out,總記錄數 totalpage int out 總頁數 as...
分頁的儲存過程
alter procedure sql conn sort tblname varchar 255 表名 strgetfields varchar 1000 需要返回的列 fldname varchar 255 排序的欄位名 pagesize int 頁尺寸 pageindex int 頁碼 doc...
儲存過程的分頁!!
create proc up gettopiclist a strforumid varchar 50 a intpageno int a intpagesize int as 定義區域性變數 declare intbeginid int declare intendid int declare i...