利用存儲過程分頁
来源:互联网 发布:wampserver配置sql 编辑:程序博客网 时间:2024/06/09 16:48
USE[iDB002]
GO
/****** Object: StoredProcedure [dbo].[PICM_Page] Script Date: 05/24/2013 14:00:33 ******/
SETANSI_NULLS ON
GO
SETQUOTED_IDENTIFIERON
GO
-- =============================================
-- Author : PICM
-- Create date : 2013/04/18
-- Description :燒錄產能新增
-- =============================================
ALTERPROCEDURE [dbo].[PICM_Page]
@SQL NVARCHAR(4000),
@CurrentPage int,
@PageSize int = 10,
@OrderBy NVARCHAR(400),
@ReturnData NVARCHAR(50) OUTPUT
AS
BEGIN
----初始化----------
SET @ReturnData='0'
if @CurrentPage= 1
BEGIN
exec('select top '+@PageSize+' * from ('+@SQL+') r')
return
EnD
else
begin
declare @sqlCountnvarchar(4000)
declare @sqlReturnnvarchar(4000)
declare @TotalCountint
declare @TotalPageint
set @sqlCount= 'select @count=count(*) from (' + @SQL+ ') r'
exec sp_executesql@sqlCount,N'@count int out',@TotalCount out
set @TotalPage= Ceiling(@TotalCount*1.0/@PageSize)
if @TotalPage< @CurrentPage
Set @CurrentPage= @TotalPage
SET @ReturnData=cast(@TotalCountas nvarchar)+'_'+cast(@TotalPageas nvarchar)+'_'+cast(@CurrentPageas nvarchar)
SET @sqlReturn= 'select * from (select row_number() OVER ('+@OrderBy+') AS
row_number,a.* from ('+@SQL+') a
) r where row_number>'+cast(((@CurrentPage-1)*@PageSize)as nvarchar)+
' and row_number<'+cast((@CurrentPage*@PageSize+1)as nvarchar)+@OrderBy
exec(@sqlReturn)
return
end
IF(@@ERROR<>0)
BEGIN
SET @ReturnData='ERR'
return
END
END
using (SqlConnection sqlConn =new SqlConnection(ConnCollection.GetSqlConnStr()))
{
sqlConn.Open();
SqlCommand cmd = sqlConn.CreateCommand();
cmd.CommandType =CommandType.StoredProcedure;
cmd.CommandText ="PICM_Page";
cmd.Parameters.Add("@SQL",SqlDbType.NVarChar,4000).Value =@"select a.* from HR_Emp_Now a
union
select a.* from HR_Emp a";
cmd.Parameters.Add("@CurrentPage",SqlDbType.Int).Value = 2;
cmd.Parameters.Add("@PageSize",SqlDbType.Int).Value = 10;
cmd.Parameters.Add("@OrderBy",SqlDbType.NVarChar,400).Value =" order by empid desc ";
cmd.Parameters.Add("@ReturnData",SqlDbType.NVarChar, 50).Direction =ParameterDirection.Output;
cmd.ExecuteNonQuery();
Response.Write(cmd.Parameters["@ReturnData"].Value.ToString());
DataSet ds = newDataSet();
SqlDataAdapter adt = new SqlDataAdapter();
adt.SelectCommand = cmd;
adt.Fill(ds);
SqlDataReader dr = cmd.ExecuteReader();
gv.DataSource = ds.Tables[0];
gv.DataBind();
sqlConn.Close();
}
- 利用存儲過程分頁
- 利用EjbProxy
- 利用存儲過程進行簡繁體轉換
- 利用存儲過程進行簡繁體轉換
- 利用存儲過程進行簡繁體轉換
- 利用存儲過程進行簡繁體轉換
- 利用存儲過程進行簡繁體轉換
- 利用存儲過程進行簡繁體轉換
- 利用存儲過程進行簡繁體轉換
- 利用存儲過程進行簡繁體轉換
- 利用存儲過程進行簡繁體轉換
- 利用存儲過程進行簡繁體轉換
- 利用存儲過程進行簡繁體轉換
- 利用存儲過程進行簡繁體轉換
- 利用存儲過程進行簡繁體轉換
- 利用存儲過程進行簡繁體轉換
- 正确利用
- 利用存儲過程進行簡繁體轉換
- 修改wamp server的数据库密码及远程连接数据库的权限
- 尺度空间
- 使用BitBlt复制位图,出现显示黑色块的问题
- the+比较级,the+比较级
- 初识Objecive-C 之 键值编码(KVC)
- 利用存儲過程分頁
- TortoiseSVN使用简介
- 拓扑排序
- jquery源码阅读知识储备(4)关于js中if的解惑
- Android 怎样在styles.xml中定义自己的样式并引用样式
- 原始类型与封装类的区别
- servlet实现文件上传
- 三星SMDK4412的烧写镜像
- Tomcat server.xml笔记