[ASP.NET2.0]如何利用 DataReader 实现分页
来源:互联网 发布:91助手mac版官方下载 编辑:程序博客网 时间:2024/05/13 17:48
<%...@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">...
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>如何利用 DataReader 实现分页</title>
</head>
<body >
<div>
<%...
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("server=.;database=pubs;uid=sa;pwd=");
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("",conn);
int rowIndex=1;
int pageId=1;
int maxRow=1;
int maxPage=1;
int pageSize = 5;
if (Request.QueryString["pageId"] == null)
{
pageId = 1;
}
else
{
pageId = int.Parse(Request.QueryString["pageId"].Trim());
}
try
{
if (conn.State == System.Data.ConnectionState.Closed)
{
conn.Open();
}
cmd.CommandText = "select count(*) from authors";
maxRow = (int)cmd.ExecuteScalar();
maxPage=(maxRow%pageSize>0)?(maxRow/pageSize+1):(maxRow/pageSize);
cmd.CommandText = "select au_id,au_lname,au_fname,phone,address from authors";
System.Data.SqlClient.SqlDataReader dr = cmd.ExecuteReader();
for (int i = 0; i < (pageId - 1) * pageSize;i++ )
{
dr.Read();
rowIndex++;
}
for (int i = rowIndex; i <(rowIndex+ pageSize);i++ )
{
if (dr.Read())
{
Response.Write(i.ToString());
Response.Write(" ");
Response.Write(dr["au_id"].ToString());
Response.Write(" ");
Response.Write(dr["au_lname"].ToString());
Response.Write(" ");
Response.Write(dr["au_fname"].ToString());
Response.Write(" ");
Response.Write(dr["phone"].ToString());
Response.Write(" ");
Response.Write(dr["address"].ToString());
Response.Write(" ");
Response.Write("<hr/>");
}
}
}
catch (System.Data.SqlClient.SqlException e)
{
Response.Write(e.Message.ToString());
}
finally
{
if (conn.State == System.Data.ConnectionState.Open)
{
conn.Close();
}
}
%>
<a href="DataReader2.aspx?pageId=1">第一页</a>
||
<a href="DataReader2.aspx?pageId=<%=(pageId>1)?(pageId-1):1 %>">上一页</a>
||
<a href="DataReader2.aspx?pageId=<%=(pageId<maxPage)?(pageId+1):maxPage %>">下一页</a>
||
<a href="DataReader2.aspx?pageId=<%=maxPage %>">最后页</a>
<hr />
记录总数为:<%=maxRow %>
<br />
页码总数为:<%=maxPage %>
<br />
当前页码为:<%=pageId %>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">...
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>如何利用 DataReader 实现分页</title>
</head>
<body >
<div>
<%...
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("server=.;database=pubs;uid=sa;pwd=");
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("",conn);
int rowIndex=1;
int pageId=1;
int maxRow=1;
int maxPage=1;
int pageSize = 5;
if (Request.QueryString["pageId"] == null)
{
pageId = 1;
}
else
{
pageId = int.Parse(Request.QueryString["pageId"].Trim());
}
try
{
if (conn.State == System.Data.ConnectionState.Closed)
{
conn.Open();
}
cmd.CommandText = "select count(*) from authors";
maxRow = (int)cmd.ExecuteScalar();
maxPage=(maxRow%pageSize>0)?(maxRow/pageSize+1):(maxRow/pageSize);
cmd.CommandText = "select au_id,au_lname,au_fname,phone,address from authors";
System.Data.SqlClient.SqlDataReader dr = cmd.ExecuteReader();
for (int i = 0; i < (pageId - 1) * pageSize;i++ )
{
dr.Read();
rowIndex++;
}
for (int i = rowIndex; i <(rowIndex+ pageSize);i++ )
{
if (dr.Read())
{
Response.Write(i.ToString());
Response.Write(" ");
Response.Write(dr["au_id"].ToString());
Response.Write(" ");
Response.Write(dr["au_lname"].ToString());
Response.Write(" ");
Response.Write(dr["au_fname"].ToString());
Response.Write(" ");
Response.Write(dr["phone"].ToString());
Response.Write(" ");
Response.Write(dr["address"].ToString());
Response.Write(" ");
Response.Write("<hr/>");
}
}
}
catch (System.Data.SqlClient.SqlException e)
{
Response.Write(e.Message.ToString());
}
finally
{
if (conn.State == System.Data.ConnectionState.Open)
{
conn.Close();
}
}
%>
<a href="DataReader2.aspx?pageId=1">第一页</a>
||
<a href="DataReader2.aspx?pageId=<%=(pageId>1)?(pageId-1):1 %>">上一页</a>
||
<a href="DataReader2.aspx?pageId=<%=(pageId<maxPage)?(pageId+1):maxPage %>">下一页</a>
||
<a href="DataReader2.aspx?pageId=<%=maxPage %>">最后页</a>
<hr />
记录总数为:<%=maxRow %>
<br />
页码总数为:<%=maxPage %>
<br />
当前页码为:<%=pageId %>
</div>
</body>
</html>
- [ASP.NET2.0]如何利用 DataReader 实现分页
- asp.net2.0分页的实现(GridView)
- ASP.NET2.0:利用Localization实现本地化
- ASP.NET2.0:利用Localization实现本地化
- ASP.NET2.0:利用Localization实现本地化
- ASP.NET2.0:利用Localization实现本地化
- ASP.NET2.0:利用Localization实现本地化
- 如何实现asp.net2.0的SqlCacheDependency
- 如何实现asp.net2.0的SqlCacheDependency
- asp.net2.0 GrdView自带分页实现 详解
- ASP.NET2.0利用Gridview实现主从关系
- asp.net2.0利用TreeView实现无限级树型菜单
- ASP.NET2.0利用Localization实现本地化 [转]
- asp.net2.0利用TreeView实现无限级树型菜单
- ASP.NET2.0利用Gridview实现主从关系
- ASP.NET2.0利用Gridview实现主从关系
- .Net2.0_DataList实现分页
- Asp.net2.0中如何实现的url重写!
- compareDate
- 用subversion(SVN)进行版本管理 (二)
- 一个小工具,用来自动清除Outlook 的地址自动完成缓存 (Outlook e-mail address auto complete cache)
- 多线程编程的探索与实践(图)
- 用subversion(SVN)进行版本管理 (三)
- [ASP.NET2.0]如何利用 DataReader 实现分页
- Groovyb脚本速成教程
- 基于Mapserver的WebGIS设计
- 开源WebGIS-Mapserver在windows下的安装
- 开博了,大家支持一下
- web.config常用方法
- 地物波谱反射率与遥感影像成像相仿关系浅究
- RS与GIS 的集成
- SDK安装与配置