ASP.NET (C#) 应用篇-数据列分页操作-01_Adapter_Fill
发布时间:2020-12-16 09:27:30 所属栏目:asp.Net 来源:网络整理
导读:摘要:ASP.NET (C#) 应用篇-数据列分页操作-01_Adapter_Fill using System;using System.Configuration;using System.Data;using System.Data.SqlClient;public partial class _01_Adapter_Fill : System.Web.UI.Page{ //取得 Web.config 档的数据连接设定。
摘要:ASP.NET (C#) 应用篇-数据列分页操作-01_Adapter_Fill using System; using System.Configuration; using System.Data; using System.Data.SqlClient; public partial class _01_Adapter_Fill : System.Web.UI.Page { //取得 Web.config 档的数据连接设定。 ConnectionStringSettings setting = ConfigurationManager.ConnectionStrings["MS-SQL_DB_ConnectionString01"]; //建立对象案例。(选择数据连接模式) SqlConnection objConnection = new SqlConnection(); //显示分页数据连结函数。 private void ShowDataCurrentPage_Fn(string strSQLVal) { //建立并使用Command对象执行SQL命令。 SqlCommand objSelectCommand = new SqlCommand(strSQLVal,objConnection); //建立对象案例。 SqlDataReader objDataReader = objSelectCommand.ExecuteReader(); //声明整数变量。(每页要显示的数据数) int intCutPageSize = 3; //声明整数变量。(分页的总页数) int intPageCount = 0; //声明整数变量。(数据的总笔数) int intRowsCount = 0; //声明整数变量。(分页的索引页数) int intPageIndex = 1; //声明整数变量。(数据的起始笔数) int intStartIndex = 0; //取得数据列的总笔数。 while (objDataReader.Read()) { intRowsCount += 1; } //当“所有数据数”除于“每页要显示的数据数”取余数等于 0 时。(计算一共有多少分页数) if (intRowsCount % intCutPageSize == 0) { //将“所有数据数”除于“每页要显示的数据数”等于“分页数”。 intPageCount = intRowsCount / intCutPageSize; } else //余数不等于 0 时。 { //将“所有数据数”除于“每页要显示的数据数”等于“分页数”加 1 (补整数+余数的个数)。 intPageCount = intRowsCount / intCutPageSize + 1; } //关闭对象。 objDataReader.Close(); //当有传入(分页的索引页数)时。 if (Request.QueryString["Page"] != null) { //取得 GET 传入的“分页的索引页数”值。 intPageIndex = int.Parse(Request.QueryString["Page"]); } //设定 Label 控件的显示文字。(目前分页情状) Label_CurPage.Text = "目前在第 " + intPageIndex.ToString() + " 页,共 " + intPageCount.ToString() + " 页"; //设定 HyperLink 控件的超链接网址。(最终页) HyperLink_Last.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + intPageCount.ToString(); //设定 HyperLink 控件的超链接网址。(第一页) HyperLink_First.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=1"; //当不是在“第一页索引值”时。 if (intPageIndex != 1) { //设定 HyperLink 控件的超链接网址。(上一页、Page 参数值为目前索引页数 PageIndex-1) HyperLink_Prev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(intPageIndex - 1); } else //是在“第一页索引值”时, { //设定 HyperLink 控件不显示在页面中。(上一页) HyperLink_Prev.Visible = false; //设定 HyperLink 控件不显示在页面中。(第一页) HyperLink_First.Visible = false; } //当“目前操作的页数索引值”不等于“所有数据数”时。 if (intPageIndex != intPageCount) { //设定 HyperLink 控件的超链接网址。(下一页、Page 参数值为目前索引页数 PageIndex+1) HyperLink_Next.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(intPageIndex + 1); } else //是在“第一页索引值”时, { //设定 HyperLink 控件不显示在页面中。(下一页) HyperLink_Next.Visible = false; //设定 HyperLink 控件不显示在页面中。(最终页) HyperLink_Last.Visible = false; } //当没有任何数据时,不显示分页控件目。 if (intPageCount == 0) { //设定 HyperLink 控件不显示在页面中。(上一页) HyperLink_Prev.Visible = false; //设定 HyperLink 控件不显示在页面中。(第一页) HyperLink_First.Visible = false; //设定 HyperLink 控件不显示在页面中。(下一页) HyperLink_Next.Visible = false; //设定 HyperLink 控件不显示在页面中。(最终页) HyperLink_Last.Visible = false; //设定 HyperLink 控件不显示在页面中。(页次资讯) Label_CurPage.Visible = false; } //计算起始笔数。(“目前索引页数-1”乘于“每页要显示的数据数”) intStartIndex = (intPageIndex-1) * intCutPageSize; //建立对象案例。(用来执行 SQL 命令,之后将执行结果返回的数据放入 DataSet 对象) SqlDataAdapter objDataAdapter = new SqlDataAdapter(objSelectCommand); //建立对象案例。 DataSet objDataSet = new DataSet(); //使用DataAdapter对象的Full()方法,将SQL命令执行结果所选取的数据放入DataSet对象。objDataAdapter.Fill(DataSet,起始笔数,结束笔数,"数据表") objDataAdapter.Fill(objDataSet,intStartIndex,intCutPageSize,"FROM"); //声明对象变量。(用来存放数据表) DataTable dtDataTable = objDataSet.Tables[0]; //将数据库取得的查询结果,读取输出到页面上。 ?????? //第一种方式:用 HTML 表格显示。 ?????? //读取与显示所有的字段名称 ??????? //读取与显示所有符合筛选条件的数据列,并组合表格填入数据。
??????? //第二种方式:用 GridView 控件显示。 //设定 GridView 控件的数据来源,为取得的 DataSet.Tables 里面的数据。 GridView1.DataSource = objDataSet.Tables[0]; //执行 GridView 控件的数据结系。 GridView1.DataBind(); //释放占用资源。 dtDataTable.Dispose(); objDataSet.Dispose(); objDataAdapter.Dispose(); } //当页面正在载入时所要执行动作。 protected void Page_Load(object sender,EventArgs e) { //取得设定数据来源的字符串。 objConnection.ConnectionString = setting.ConnectionString; //开启数据连接动作。 objConnection.Open(); //当页面是为第一次载入的话执行下列动作。 if (!IsPostBack) { //调用显示分页数据连结函数。 ShowDataCurrentPage_Fn("SELECT * FROM [SystemUser_Tb] ORDER BY [ID_F]"); } //释放占用资源。 objConnection.Dispose(); } } 02_DataCurrentPage 原文:大专栏 ?ASP.NET (C#) 应用篇-数据列分页操作-01_Adapter_Fill (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET MVC3 – 您如何处理探测请求?
- asp.net-mvc-3 – 是否可以在ASP.NET MVC中重用多个项目的部
- 如何ASP.NET Core Razor中处理Ajax请求
- asp.net-mvc-2 – 实体框架4 CTP 4/CTP 5通用存储库模式和单
- asp.net – 是否有支持请求参数连接的URL构建器?
- ASP.NET:请求cookie对于域名为null?
- asp.net-mvc – 如何在Kendo UI菜单上的多个组之间插入分隔
- asp.net-mvc – RenderPartial从另一个控制器(和在另一个文
- 在ASP.net应用程序中处理Com对象
- asp.net – 在IIS7中重启网站以“刷新”Castle Windsor配置
推荐文章
站长推荐
- asp.net-mvc – Web API,OData,$inlinecount和测
- asp.net-mvc – 使用razor引擎在mvc4中重写url
- asp.net-mvc-4 – ASP.NET MVC 4应用程序捆绑和分
- asp.net – 无法安装Microsoft.AspNet.Razor 3.0
- asp.net – Web用户控件通过XML填充项目
- 尝试新的开发组合:Asp.NET Core+ABP框架+Identi
- asp.net-mvc – 使用Html.BeginForm()与自定义路
- 无法从readonly或禁用的文本框控件asp.net获取价
- asp.net – 多语言网站随机改变语言
- asp.net-mvc-5 – 为什么我不能以种子用户身份登
热点阅读