分页代码
1
//统计当前分类记录数
2
Conn.Open();
3
4
if (Request.QueryString["XClass"] != null)
5 {
6
XID = int.Parse(Request.QueryString["XClass"]);
7
strSQL = "SELECT COUNT(*) FROM Question WHERE Xclass = @XID";
8
Cmd = new OleDbCommand(strSQL, Conn);
9
Cmd.Parameters.Add(new OleDbParameter("@XID", OleDbType.Integer)).Value = XID;
10
}
11
else
12 {
13 strSQL = "SELECT COUNT(*) FROM Question WHERE Dclass = @DID";
14 Cmd = new OleDbCommand(strSQL, Conn);
15 Cmd.Parameters.Add(new OleDbParameter("@DID", OleDbType.Integer)).Value = DID;
16 }
17
18
intTotalRecord = (int)Cmd.ExecuteScalar();
19
20
intTotalPage = intTotalRecord % intPageSize == 0 ? (int)(intTotalRecord / intPageSize) : (int)(intTotalRecord / intPageSize) + 1;
21
22
23
if (Request.QueryString["p"] != null && Request.QueryString["p"] != "")
24
intCurrentPage = int.Parse(Request.QueryString["p"]);
25
26
if (intCurrentPage > intTotalPage)
27
intCurrentPage = intTotalPage;
28
29
if (intCurrentPage - 1 <= 0)
30
{
31
intStartRecord = 0;
32
}
33
else
34
{
35
intStartRecord = intPageSize * (intCurrentPage - 1);
36
}
37
38
39
40
//绑定分类记录
41
42
if (Request.QueryString["XClass"] != null)
43
{
44
XID = int.Parse(Request.QueryString["XClass"]);
45
strSQL = "SELECT * FROM Question WHERE XClass = @XID";
46
Cmd = new OleDbCommand(strSQL, Conn);
47
Cmd.Parameters.Add(new OleDbParameter("@XID", OleDbType.Integer)).Value = XID;
48
}
49
else
50
{
51
strSQL = "SELECT * FROM Question WHERE Dclass = @DID";
52
Cmd = new OleDbCommand(strSQL, Conn);
53
Cmd.Parameters.Add(new OleDbParameter("@DID", OleDbType.Integer)).Value = DID;
54
}
55
56
57
Adpt = new OleDbDataAdapter(Cmd);
58
Adpt.Fill(Ds,intStartRecord, intPageSize,"Topic");
59
Topic.DataSource = Ds.Tables["Topic"].DefaultView;
60
//Topic.DataBind();
61
//开始分页算法
62
StringBuilder strLink = new StringBuilder("?");
63
if (Request.QueryString["DClass"] != null && Request.QueryString["DClass"] != "")
64
strLink.AppendFormat("DClass={0}", Request.QueryString["DClass"]);
65
if (Request.QueryString["XClass"] != null && Request.QueryString["XClass"] != "")
66
strLink.AppendFormat("&XClass={0}", Request.QueryString["XClass"]);
67
68
if (intCurrentPage>1)
69
intRow=intCurrentPage*intPageSize-(intPageSize-1);
70
71
else
72
intRow=1;
73
74
if (intCurrentPage <= 3)
75
{
76
for (int i = 1; i <= 5; i ++)
77
{
78
if (i <= intTotalPage)
79
{
80
StringBuilder strFormat = new StringBuilder(" <a href=\"");
81
strFormat.Append(strLink);
82
strFormat.Append("&p={0}\">[{0}]</a>");
83
if (i == intCurrentPage)
84
strFormat = new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");
85
strPages.AppendFormat(strFormat.ToString(), i);
86
}
87
else
88
{
89
break;
90
}
91
}
92
if (intTotalPage > 3)
93
strPages.AppendFormat(" <a href=\"{0}&p={1}\">[{1}]</a>", strLink.ToString(), intTotalPage);
94
}
95
else if (intCurrentPage < intTotalPage - 2)
96
{
97 strPages.AppendFormat(" <a href=\"{0}&p=1\">[1]</a> ", strLink.ToString());
98
for (int i = intCurrentPage - 2; i <= intCurrentPage + 2; i ++)
99 {
100 if (i < intTotalPage)
101 {
102 StringBuilder strFormat = new StringBuilder(" <a href=\"");
103 strFormat.Append(strLink);
104 strFormat.Append("&p={0}\">[{0}]</a>");
105 if (i == intCurrentPage)
106 strFormat = new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");
107 strPages.AppendFormat(strFormat.ToString(), i);
108 }
109 else
110 {
111 break;
112 }
113 }
114 strPages.AppendFormat(" <a href=\"{0}&p={1}\">[{1}]</a>", strLink.ToString(), intTotalPage);
115 }
116
else
117 {
118 strPages.AppendFormat(" <a href=\"{0}&p=1\">[1]</a> ", strLink.ToString());
119 for (int i = intTotalPage - 3; i <= intTotalPage; i ++)
120 {
121 StringBuilder strFormat = new StringBuilder(" <a href=\"");
122 strFormat.Append(strLink);
123 strFormat.Append("&p={0}\">[{0}]</a>");
124 if (i == intCurrentPage)
125 strFormat = new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");
126 strPages.AppendFormat(strFormat.ToString(), i);
127 }
128 }
129
//分页算法结束
130
DataBind();
131
Dispose();
132
Cmd.Dispose();
133
Conn.Close();
134
Conn.Dispose();
//统计当前分类记录数2
Conn.Open();3
4
if (Request.QueryString["XClass"] != null)5 {
6
XID = int.Parse(Request.QueryString["XClass"]);7
strSQL = "SELECT COUNT(*) FROM Question WHERE Xclass = @XID";8
Cmd = new OleDbCommand(strSQL, Conn);9
Cmd.Parameters.Add(new OleDbParameter("@XID", OleDbType.Integer)).Value = XID;10
}11
else12 {
13 strSQL = "SELECT COUNT(*) FROM Question WHERE Dclass = @DID";
14 Cmd = new OleDbCommand(strSQL, Conn);
15 Cmd.Parameters.Add(new OleDbParameter("@DID", OleDbType.Integer)).Value = DID;
16 }
17

18
intTotalRecord = (int)Cmd.ExecuteScalar();19

20
intTotalPage = intTotalRecord % intPageSize == 0 ? (int)(intTotalRecord / intPageSize) : (int)(intTotalRecord / intPageSize) + 1;21
22

23
if (Request.QueryString["p"] != null && Request.QueryString["p"] != "")24
intCurrentPage = int.Parse(Request.QueryString["p"]);25

26
if (intCurrentPage > intTotalPage)27
intCurrentPage = intTotalPage;28
29
if (intCurrentPage - 1 <= 0)30
{31
intStartRecord = 0;32
}33
else34
{ 35
intStartRecord = intPageSize * (intCurrentPage - 1);36
}37
38
39
40
//绑定分类记录41

42
if (Request.QueryString["XClass"] != null)43
{44
XID = int.Parse(Request.QueryString["XClass"]);45
strSQL = "SELECT * FROM Question WHERE XClass = @XID";46
Cmd = new OleDbCommand(strSQL, Conn);47
Cmd.Parameters.Add(new OleDbParameter("@XID", OleDbType.Integer)).Value = XID;48
}49
else50
{51
strSQL = "SELECT * FROM Question WHERE Dclass = @DID";52
Cmd = new OleDbCommand(strSQL, Conn);53
Cmd.Parameters.Add(new OleDbParameter("@DID", OleDbType.Integer)).Value = DID;54
}55

56

57
Adpt = new OleDbDataAdapter(Cmd);58
Adpt.Fill(Ds,intStartRecord, intPageSize,"Topic");59
Topic.DataSource = Ds.Tables["Topic"].DefaultView;60
//Topic.DataBind();61
//开始分页算法62
StringBuilder strLink = new StringBuilder("?");63
if (Request.QueryString["DClass"] != null && Request.QueryString["DClass"] != "")64
strLink.AppendFormat("DClass={0}", Request.QueryString["DClass"]);65
if (Request.QueryString["XClass"] != null && Request.QueryString["XClass"] != "")66
strLink.AppendFormat("&XClass={0}", Request.QueryString["XClass"]);67
68
if (intCurrentPage>1)69
intRow=intCurrentPage*intPageSize-(intPageSize-1);70
71
else72
intRow=1;73
74
if (intCurrentPage <= 3)75
{76
for (int i = 1; i <= 5; i ++)77
{78
if (i <= intTotalPage)79
{80
StringBuilder strFormat = new StringBuilder(" <a href=\"");81
strFormat.Append(strLink);82
strFormat.Append("&p={0}\">[{0}]</a>");83
if (i == intCurrentPage)84
strFormat = new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");85
strPages.AppendFormat(strFormat.ToString(), i);86
}87
else88
{89
break;90
}91
}92
if (intTotalPage > 3)93
strPages.AppendFormat(" <a href=\"{0}&p={1}\">[{1}]</a>", strLink.ToString(), intTotalPage);94
}95
else if (intCurrentPage < intTotalPage - 2)96
{97 strPages.AppendFormat(" <a href=\"{0}&p=1\">[1]</a> ", strLink.ToString());
98
for (int i = intCurrentPage - 2; i <= intCurrentPage + 2; i ++)99 {
100 if (i < intTotalPage)
101 {
102 StringBuilder strFormat = new StringBuilder(" <a href=\"");
103 strFormat.Append(strLink);
104 strFormat.Append("&p={0}\">[{0}]</a>");
105 if (i == intCurrentPage)
106 strFormat = new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");
107 strPages.AppendFormat(strFormat.ToString(), i);
108 }
109 else
110 {
111 break;
112 }
113 }
114 strPages.AppendFormat(" <a href=\"{0}&p={1}\">[{1}]</a>", strLink.ToString(), intTotalPage);
115 }
116
else117 {
118 strPages.AppendFormat(" <a href=\"{0}&p=1\">[1]</a> ", strLink.ToString());
119 for (int i = intTotalPage - 3; i <= intTotalPage; i ++)
120 {
121 StringBuilder strFormat = new StringBuilder(" <a href=\"");
122 strFormat.Append(strLink);
123 strFormat.Append("&p={0}\">[{0}]</a>");
124 if (i == intCurrentPage)
125 strFormat = new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");
126 strPages.AppendFormat(strFormat.ToString(), i);
127 }
128 }
129
//分页算法结束130
DataBind();131
Dispose();132
Cmd.Dispose();133
Conn.Close();134
Conn.Dispose();

浙公网安备 33010602011771号