Happiness...
随笔- 7 文章- 4 评论- 1
首页
新随笔
新文章
联系
管理
2008年5月12日
数据库分页存储过程
数据库分页存储过程
SET
QUOTED_IDENTIFIER
ON
GO
SET
ANSI_NULLS
ON
GO
/**/
/*
名 称: pr_Common_PagedSelect
功 能: 获取指定页的数据
创建标识:2008-05-12 15:30
修改标识:
修改原因:
*/
CREATE
PROCEDURE
[
dbo
]
.pr_Common_PagedSelect
@TableName
varchar
(
255
),
--
表名
@OrderField
varchar
(
255
),
--
排序字段名
@SelectedFields
varchar
(
255
),
--
选择字段名
@PageSize
int
,
--
页尺寸
@PageIndex
int
,
--
页码
@OrderType
bit
,
--
设置排序类型, 非 0 值则降序
@Condition
varchar
(
2000
)
--
查询条件 (注意: 不要加 where)
AS
declare
@strSQL
varchar
(
6000
)
--
主语句
declare
@strTmp
varchar
(
1000
)
--
临时变量
declare
@strOrder
varchar
(
500
)
--
排序类型
if
@OrderType
!=
0
begin
set
@strTmp
=
'
<(select min
'
set
@strOrder
=
'
order by [
'
+
@OrderField
+
'
] desc
'
end
else
begin
set
@strTmp
=
'
>(select max
'
set
@strOrder
=
'
order by [
'
+
@OrderField
+
'
] asc
'
end
set
@strSQL
=
'
select top
'
+
str
(
@PageSize
)
+
'
'
+
@SelectedFields
+
'
from [
'
+
@TableName
+
'
] where [
'
+
@OrderField
+
'
]
'
+
@strTmp
+
'
([
'
+
@OrderField
+
'
]) from (select top
'
+
str
((
@PageIndex
-
1
)
*
@PageSize
)
+
'
[
'
+
@OrderField
+
'
] from [
'
+
@TableName
+
'
]
'
+
@strOrder
+
'
) as tblTmp)
'
+
@strOrder
if
@Condition
!=
''
Begin
set
@strSQL
=
'
select top
'
+
str
(
@PageSize
)
+
'
'
+
@SelectedFields
+
'
from [
'
+
@TableName
+
'
] where [
'
+
@OrderField
+
'
]
'
+
@strTmp
+
'
([
'
+
@OrderField
+
'
]) from (select top
'
+
str
((
@PageIndex
-
1
)
*
@PageSize
)
+
'
[
'
+
@OrderField
+
'
] from [
'
+
@TableName
+
'
] where
'
+
@Condition
+
'
'
+
@strOrder
+
'
) as tblTmp) and
'
+
@Condition
+
'
'
+
@strOrder
End
if
@PageIndex
=
1
begin
set
@strTmp
=
''
if
@Condition
!=
''
set
@strTmp
=
'
where (
'
+
@Condition
+
'
)
'
set
@strSQL
=
'
select top
'
+
str
(
@PageSize
)
+
'
'
+
@SelectedFields
+
'
from [
'
+
@TableName
+
'
]
'
+
@strTmp
+
'
'
+
@strOrder
end
exec
(
@strSQL
)
--
获取记录集
GO
SET
QUOTED_IDENTIFIER
OFF
GO
SET
ANSI_NULLS
ON
GO
posted @
2008-05-12 16:31
Happiness... 阅读(14) |
评论 (0)
|
编辑
公告
<
2008年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
最新评论
我的标签
留言簿
给我留言
查看留言
我参加的小组
每日一句英语
设计模式
Visual Studio
ASP.NET
web标准设计
AJAX
.NET 3.x
jQuery
我的标签
Utility
(1)
Request.cs
(1)
Validator.cs
(1)
ConvertTo.cs
(1)
css + div 实现左右div区域高度自动适应
(1)
随笔分类
asp.net
Css-div(1)
Javascript
T-Sql(1)
web.config
Wiki(5)
Xml
随笔档案
2008年5月 (1)
2008年4月 (6)
文章分类
asp.net
css
Javascript
T-SQL
webconfig
Wiki(4)
技术学习网站
李会军的博客
张逸 - 晴窗笔记
团队管理+ 激励 项目管理 + FrameWork
最新随笔
1. 数据库分页存储过程
2. css + div 实现左右div区域高度自动适应
3. C#中处理字符串和数字
4. ConvertTo.cs 强制转换类
5. Validator.cs 验证类
6. Request 操作类
7. Utility常用功能类 MD5 ClientIP JS弹窗消息
积分与排名
积分 - 292
排名 - 12855
最新评论
阅读排行榜
1. css + div 实现左右div区域高度自动适应(91)
2. Request 操作类(27)
3. Utility常用功能类 MD5 ClientIP JS弹窗消息(26)
4. ConvertTo.cs 强制转换类(24)
5. Validator.cs 验证类(23)