濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > asp.net中用DataReader高效率分頁

asp.net中用DataReader高效率分頁

熱門標(biāo)簽:滄州電銷外呼系統(tǒng)價(jià)格 手機(jī)外呼系統(tǒng)什么原理 凱立德地鐵站地圖標(biāo)注 銀行信貸電話機(jī)器人 上海400客服電話怎么申請(qǐng) 合肥ai電銷機(jī)器人費(fèi)用 400電話個(gè)人能不能辦理 天津電銷外呼系統(tǒng)違法嗎 溫州外呼系統(tǒng)招商
分享一下兩種方式的分頁代碼
1.用DataReader分頁
復(fù)制代碼 代碼如下:

/// summary>
/// PageList for DataReader
/// /summary>
/// param name="connectionString">/param>
/// param name="sql">/param>
/// param name="pageSize">/param>
/// param name="curPage">/param>
/// param name="pageCount">/param>
/// param name="count">/param>
/// param name="cmdParms">/param>
/// returns>/returns>
public DataTable PageListReader(string connectionString, string sql, int pageSize, int curPage, out int pageCount, out int count, params DbParameter[] cmdParms)
{
int first = 0;
int last = 0;
int fieldCount = 0;
using (SqlConnection conn = new SqlConnection(connectionString))
{
SqlCommand cmd = conn.CreateCommand();
PrepareCommand(cmd, conn, null, CommandType.Text, sql, cmdParms);
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
DataTable dt = new DataTable();
fieldCount = reader.FieldCount;
for (int i = 0; i fieldCount; i++)
{
DataColumn col = new DataColumn();
col.ColumnName = reader.GetName(i);
col.DataType = reader.GetFieldType(i);
dt.Columns.Add(col);
}
count = 0;
first = (curPage - 1) * pageSize+1;
last = curPage * pageSize;
while (reader.Read())
{
count++;
if (count >= first last >= count)
{
DataRow r = dt.NewRow();
for (int i = 0; i fieldCount; i++)
{
r[i] = reader[i];
}
dt.Rows.Add(r);
}
}
reader.Close();
pageCount = Convert.ToInt32(Math.Ceiling((double)count / (double)pageSize));
return dt;
}
}

2.用ROW_NUMBER()分頁
復(fù)制代碼 代碼如下:

/// summary>
/// 分頁獲取數(shù)據(jù)(Sql Server 2005) for ROW_NUMBER()
/// /summary>
/// param name="connectionString">數(shù)據(jù)庫鏈接/param>
/// param name="sql">獲取數(shù)據(jù)集的Sql/param>
/// param name="fldSort">排序字段,可以多個(gè)/param>
/// param name="pageSize">每頁顯示多少條/param>
/// param name="curPage">當(dāng)前頁碼/param>
/// param name="pageCount">總頁數(shù)/param>
/// param name="count">總記錄數(shù)/param>
///param name="cmdParms">DbParameter/param>
/// returns>DataTable/returns>
public DataTable PageList(string connectionString, string sql, string fldSort, int pageSize, int curPage, out int pageCount, out int count, params DbParameter[] cmdParms)
{
StringBuilder strSql = new StringBuilder();
strSql.AppendFormat(@"SELECT count(0) from {0} as MyTableCount;
select * from (
SELECT ROW_NUMBER() OVER(order by {1}) RowNumber,*
from {0} mytable
) mytable2
where RowNumber between {2} and {3}"
, sql, fldSort, Convert.ToString((curPage - 1) * pageSize + 1), Convert.ToString((curPage * pageSize)));
DataSet ds = ExecuteQuery(connectionString, CommandType.Text, strSql.ToString(), cmdParms);
count = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
pageCount = Convert.ToInt32(Math.Ceiling((double)count / (double)pageSize));
return ds.Tables[1];
}
您可能感興趣的文章:
  • asp.net中讓Repeater和GridView支持DataPager分頁
  • Asp.net GridView使用大全(分頁實(shí)現(xiàn))
  • ASP.NET MVC 5使用X.PagedList.Mvc進(jìn)行分頁教程(PagedList.Mvc)
  • asp.net中的GridView分頁問題
  • asp.net使用AJAX實(shí)現(xiàn)無刷新分頁
  • asp.net gridview分頁:第一頁 下一頁 1 2 3 4 上一頁 最末頁
  • 在ASP.NET 2.0中操作數(shù)據(jù)之二十:定制數(shù)據(jù)修改界面
  • 在ASP.NET 2.0中操作數(shù)據(jù)之二十一:實(shí)現(xiàn)開放式并發(fā)
  • 在ASP.NET 2.0中操作數(shù)據(jù)之二十二:為刪除數(shù)據(jù)添加客戶端確認(rèn)
  • 在ASP.NET 2.0中操作數(shù)據(jù)之二十三:基于用戶對(duì)修改數(shù)據(jù)進(jìn)行限制
  • 在ASP.NET 2.0中操作數(shù)據(jù)之二十四:分頁和排序報(bào)表數(shù)據(jù)
  • 在ASP.NET 2.0中操作數(shù)據(jù)之二十五:大數(shù)據(jù)量時(shí)提高分頁的效率

標(biāo)簽:洛陽 酒泉 怒江 七臺(tái)河 白城 赤峰 金華 溫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp.net中用DataReader高效率分頁》,本文關(guān)鍵詞  asp.net,中用,DataReader,高效率,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp.net中用DataReader高效率分頁》相關(guān)的同類信息!
  • 本頁收集關(guān)于asp.net中用DataReader高效率分頁的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    无极县| 江西省| 盘山县| 稷山县| 金坛市| 洛宁县| 婺源县| 龙海市| 安西县| 泽库县| 新安县| 闻喜县| 茶陵县| 扎兰屯市| 那坡县| 南宫市| 常州市| 石嘴山市| 武川县| 鲁山县| 安远县| 洪湖市| 增城市| 翁源县| 龙游县| 舞阳县| 鄂伦春自治旗| 石首市| 滕州市| 泰来县| 赞皇县| 江陵县| 天祝| 利津县| 凤翔县| 兰溪市| 柳江县| 普陀区| 肇东市| 隆安县| 高州市|