说了再多也没用,只要看看代码就清楚了,呵呵.
1
CREATE
PROCEDURE
dbo.CreateSimple
2
(
3
@PageIndex
int
,
4
@PageSize
int
5
)
6
AS
7
BEGIN
8
--
定义三个变量:
9
--
@PageLowerBound :所取出记录的下限.
10
--
@PageUpperBound: 所要取出记录的上限.
11
--
@TotalRecords: 返回记录总数,主要用于页面的计算.
12
DECLARE
@PageLowerBound
int
13
DECLARE
@PageUpperBound
int
14
DECLARE
@TotalRecords
int
15![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
16
--
计算上下限的值.
17
SET
@PageLowerBound
=
@PageIndex
*
@PageSize
18
SET
@PageUpperBound
=
@PageLowerBound
+
@PageSize
-
1
19![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
20
--
创建临时表:
21
--
IndexId是标识,自动增长1;
22
--
SimpleId由数据表[Simple]填充;
23
CREATE
TABLE
#PageIndexForSimple
24
(
25
IndexId
int
identity
(
0
,
1
)
NOT
NULL
,
26
SimpleId
int
27
)
28
--
填充临时表
29
INSERT
INTO
#PageIndexForSimple(SimpleId)
30
SELECT
s.
[
SimpleId
]
31
FROM
[
Simple
]
s
32
--
这里可以加WHERE condition和ODER BY语句
33
34
--
取得记录总数,其实影响行数就是记录总数
35
SELECT
@TotalRecords
=
@@ROWCOUNT
36![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
37
--
获取我们所要的记录.
38
SELECT
s.
*
39
FROM
[
Simple
]
s,#PageIndexForSimple p
40
WHERE
s.
[
SimpleId
]
=
p.
[
SimpleId
]
41
AND
p.
[
IndexId
]
>=
@PageLowerBound
42
AND
P.
[
IndexId
]
<=
@PageUpperBound
43
ORDER
BY
s.
[
Simple
]
44
45
--
返回记录总数.
46
RETURE
@TotalRecords
47
END
由上面的注释就能看懂了,呵呵,既然写到这里也把程序的代码写出来:![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
16
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
17
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
18
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
19
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
20
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
21
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
22
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
23
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
24
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
25
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
26
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
27
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
28
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
29
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
30
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
31
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
32
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
33
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
34
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
35
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
36
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
37
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
38
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
39
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
40
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
41
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
42
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
43
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
44
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
45
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
46
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
47
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
1
Public List
<
Simple
>
GetSimple(
int
pageIndex,
int
pageIndex,out int totalRecords)
{
2
List<Simple> entity=new List<Simple>();
3![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
SqlParameter[]param=new SqlParameter[]
{
4
new SqlParameter("@PageIndex",SqlDbType.Int),
5
new SqlParameter("@PageSize",SqlDbType.Int),
6
new SqlParameter("@ReturnValue",SqlDbType.Int),
7
};
8
param[0].Value=pageIndex;
9
param[1].Value=pageSize;
10
param[2].Direction = ParameterDirection.ReturnValue;
11
SqlDataReader reader=SqlHelper.ExecuteReader(CommandType.StoredProcedure, "GetSimple", param);
12![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
While(reader.Read())
{
13
entity.Add(GetSimpleEntity(reader))
14
}
15
reader.Close();
16![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
try
{
17
totalRecords=(int)param[2].Value;
18![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
}catch
{}
19
return entity;
20
}
上面的一些函数是自己写的:![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![dot.gif](https://www.cnblogs.com/Images/dot.gif)
2
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
3
![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://www.cnblogs.com/Images/dot.gif)
4
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7
![ExpandedSubBlockEnd.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
8
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://www.cnblogs.com/Images/dot.gif)
13
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![ExpandedSubBlockEnd.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
15
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://www.cnblogs.com/Images/dot.gif)
17
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](https://www.cnblogs.com/Images/dot.gif)
19
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![ExpandedBlockEnd.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
SqlHelper类:简化数据库查询类.
GetSimpleEntity(SqlDataReader reader):由于经常在项目中会用到好基础实体类的获取,所以单独写一个私有函数,以便重用;
值得注意的是获取总的记录数时可能类型为DbNull而导致错误.
第一次写,希望批评指正.