sql存储过程分页查询
2013-09-18 04:17
387 查看
CREATE PROCEDURE [dbo].[pr_Page_More] @Key varchar(50),--根据字段查询数量 @Col varchar(50),--排序方式 @Cols varchar(2000),--表字段 @TabName varchar(300),--表名 @Where varchar(1000),--条件 @Page int,--当前页码 @Val int,--每页显示多少页 AS BEGIN SET NOCOUNT ON; declare @P_begin int, @P_end int, @Txt varchar(5000) set @P_begin=@Page*@Val set @P_end=@P_begin+@Val set @Txt='select * from(select ROW_NUMBER() OVER (order by '+@Col+') as Num,'+@Cols+' from '+@TabName+' where 1=1 '+@Where+')as Tab where Tab.Num>'+CONVERT(varchar(10),@P_begin)+' and Tab.Num<='+CONVERT(varchar(10),@P_end) exec(@Txt) set @Txt='select count('+@Key+') from '+@TabName+' where 1=1 '+@Where exec(@Txt) END GO
执行操作
public DataSet TagList(string key, string Order, string tabName, string Where, int Page, int Val) { SqlParameter[] parameters = { new SqlParameter("@Key", SqlDbType.VarChar,50), new SqlParameter("@Col", SqlDbType.VarChar,50), new SqlParameter("@Cols", SqlDbType.VarChar,100), new SqlParameter("@TabName", SqlDbType.VarChar,100), new SqlParameter("@Where", SqlDbType.VarChar,1000), new SqlParameter("@Page", SqlDbType.Int), new SqlParameter("@Val", SqlDbType.Int)}; parameters[0].Value = key; parameters[1].Value = Order; parameters[2].Value = "*"; parameters[3].Value = tabName; parameters[4].Value = Where; parameters[5].Value = Page; parameters[6].Value = Val; DataSet ds = SqlHelper.RunProcedure("pr_Page", parameters); return ds; }
相关文章推荐
- 简单搞一下 Oracle 存储过程动态SQL之获取查询分页!
- 三种SQL分页查询的存储过程代码
- SQL之通用查询分页存储过程
- SQL分页查询存储过程代码分享
- 传入表或SQL语句的分页查询存储过程
- SQL 分页查询 存储过程
- SQL大数据查询分页存储过程
- 三种SQL分页查询的存储过程代码
- 三种SQL分页查询的存储过程
- SQL分页存储过程和C#中linq分页查询方法
- SQL分页存储过程和C#中linq分页查询方法
- SQL分页存储过程(不支持多表联合查询,不支持多字段排序)
- 三种SQL分页查询的存储过程
- 分页查询存储过程sql语句
- 通过存储过程进行分页查询的SQL示例
- SQL 分割字符串和通用分页查询存储过程
- SQL之通用查询分页存储过程
- sql 存储过程分页查询
- 通用的可带查询条件的SQL语句的分页存储过程(2)