欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 通用SQL存儲過程分頁以及asp.net后臺調用的方法

通用SQL存儲過程分頁以及asp.net后臺調用的方法

熱門標簽:地圖標注什么軟件好用 外呼系統線路經常出問題嗎 安陽手機自動外呼系統原理是什么 外呼系統怎樣才能不封號 如何辦理400客服電話 地圖標注百度競價 神行者百貨商場地圖標注 地圖標注專員入駐 西藏地圖標注改進點

創建表格并添加300萬數據

use Stored
CREATE TABLE UserInfo( --創建表
id int IDENTITY(1,1) PRIMARY KEY not null,--添加主鍵和標識列
UserName varchar(50) 
)
 
declare @i int --添加3百萬數據,大概4分鐘時間
set @i=1
while @i3000000
begin
insert into UserInfo (UserName) values(@i)
set @i=@i+1
end

存儲過程T-SQL

create PROCEDURE [dbo].[GetDataList]
(
 @TableName varchar(5000),    --表名
 @Fields varchar(5000) = '*',   --字段名(全部字段為*)
 @OrderField varchar(5000),    --排序字段(必須!支持多字段)
 @OrderType varchar(5000),    --排序類型
 @sqlWhere varchar(5000) = Null, --條件語句(不用加where)
 @pageSize int,          --每頁多少條記錄
 @pageIndex int = 1 ,       --指定當前為第幾頁
 @TotalPage int output,      --返回總頁數 
 @totalRecord int output    --計算總記錄數       --返回總記錄數
 )
as
begin  Begin Tran --開始事務  
  
  Declare  @sql nvarchar(500); 
  if (@SqlWhere='' or @sqlWhere=NULL)
    set @sql = 'select @totalRecord = count(*) from ' + @TableName
  else
    set @sql = 'select @totalRecord = count(*) from ' + @TableName + ' where ' + @sqlWhere  
      EXEC sp_executesql @sql,N'@totalRecord int OUTPUT',@totalRecord OUTPUT--計算總記錄數 
        
  
  --計算總頁數
  select @TotalPage=CEILING((@totalRecord+0.0)/@PageSize)  if (@SqlWhere='' or @sqlWhere=NULL)
    set @sql = 'Select * FROM (select ROW_NUMBER() Over(order by ' + @OrderField +' ' + @Ordertype+' ) as rowId,' + @Fields + ' from ' + @TableName 
  else
    set @sql = 'Select * FROM (select ROW_NUMBER() Over(order by ' + @OrderField +' ' + @Ordertype+' ) as rowId,' + @Fields + ' from ' + @TableName + ' where ' + @SqlWhere  

--處理頁數超出范圍情況
  if @PageIndex=0 
    Set @pageIndex = 1
  
  if @pageIndex>@TotalPage
    Set @pageIndex = @TotalPage   --處理開始點和結束點
  Declare @StartRecord int
  Declare @EndRecord int
  
  set @StartRecord = (@pageIndex-1)*@PageSize + 1
  set @EndRecord = @StartRecord + @pageSize - 1  --繼續合成sql語句
  set @Sql = @Sql + ') as ' + @TableName + ' where rowid between ' + Convert(varchar(50),@StartRecord) + ' and ' + Convert(varchar(50),@EndRecord) 
  --print @Sql 
  
   Exec(@Sql)
  ---------------------------------------------------
  If @@Error > 0
   Begin
    RollBack Tran
    Return -1
   End
   Else
   Begin
    Commit Tran
    Return @totalRecord ---返回記錄總數
   End  
end
--exec GetDataList 'Userinfo','*','id','desc','',10,1,3,3000000

前臺頁面Default2.aspx

%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

html xmlns="http://www.w3.org/1999/xhtml">
head runat="server">
  title>/title>
/head>
body>
  form id="form1" runat="server">
  div>
   asp:GridView ID="GridView1" runat="server">
    /asp:GridView>
    asp:Label ID="lbl_page" runat="server" Text="Label">/asp:Label>
  /div>
  /form>
/body>
/html>

后臺CS代碼Default2.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Text;


public partial class Default2 : System.Web.UI.Page
{  
  private int PageIndex = 0;//當前頁碼
  private int PageSize = 50;//每頁幾條記錄
  private int TotalPage = 1;//總分頁數
  private int TotalRecord = 0;//總記錄
  private string OrderType = " desc";//排序方式 默認正序
  protected void Page_Load(object sender, EventArgs e)
  {
    if (!IsPostBack)
    {
      GetParams();
      DataSet ds = PageData("UserInfo", "*", "id", OrderType, "", PageSize, PageIndex, out TotalPage, out TotalRecord);
      GridView1.DataSource = ds;
      GridView1.DataBind();
      lbl_page.Text = GetDivPager("", ds);
    }
  }

  //數據庫連接字符
  public static string StrConn()
  {
    //return string.Format("{0}","server=.;database=Stored;user=sa;password=123456");
    return ConfigurationSettings.AppSettings["ConnString"].ToString();
  }
  //Get方式獲得下一頁
  private void GetParams()
  {
    if (!String.IsNullOrEmpty(Request["page"]))
    {
      PageIndex = Convert.ToInt32(Request["Page"]);
    }
    else
    {
      PageIndex = 1;
    }
  }
  #region 獲得分頁字符
  public string GetDivPager(string queryString, DataSet ds)
  {
    StringBuilder sp = new StringBuilder();
    int TotalCount = TotalRecord;
    int rowCount = TotalPage;
    if (ds != null)
    {
      sp.AppendFormat(" p>總記錄:span id=\"sum\">{0}/span>", TotalCount);
      sp.AppendFormat(" 頁碼:em>b id=\"current\">{0}/b>/span id=\"count\">{1}/span>/em> ", PageIndex, rowCount);
      sp.AppendFormat(" 每頁:span id=\"eachPage\">{0}/span>/p> ", PageSize);
      
      sp.AppendFormat(" a href='{0}'>首頁/a> ", "?page=1" + queryString);
      if (PageIndex > 1)
      {
        sp.AppendFormat(" a href='{0}'> 上一頁 /a>", "?page=" + (PageIndex - 1) + queryString);
      }
      int temp = 0;
      int loopc = rowCount > 10 ? 10 : rowCount;
      for (int i = 0; i  loopc; i++)
      {
        temp = i + 1;
        if (PageIndex > 10) { temp = (PageIndex - 10) + i + 1; }
        sp.AppendFormat(" a class=\"{0}\" href='{1}'>{2}/a>", PageIndex == temp ? "active" : "", "?page=" + temp + queryString, temp);
      }
      if (PageIndex != rowCount)
      {
        sp.AppendFormat(" a href='{0}'>下一頁 >/a>", "?page=" + (PageIndex + 1) + queryString);
      }
      sp.AppendFormat(" a href='{0}'>尾頁/a>", "?page=" + rowCount + queryString);
     
    }
    else
    {
      ds = null;
    }
    return sp.ToString();
  }
  #endregion
  #region 獲取分頁的數據
  /// summary>
  /// 獲取分頁的數據
  /// /summary>
  /// param name="TblName">數據表名/param>
  /// param name="Fields">要讀取的字段/param>
  /// param name="OrderField">排序字段/param>
  /// param name="OrderType">排序方式/param>
  /// param name="SqlWhere">查詢條件/param>
  /// param name="PageSize">每頁顯示多少條數據/param>
  /// param name="pageIndex">當前頁碼/param>
  /// param name="TotalPage">返回值,共有多少頁/param>
  /// param name="TotalRecord">返回值,總有多少條記錄/param>
  /// returns>/returns>
  public static DataSet PageData(string TblName, string Fields, string OrderField, string OrderType, string SqlWhere, int PageSize, int pageIndex, out int TotalPage, out int TotalRecord)
  {

    SqlConnection conn = new SqlConnection(StrConn());
    SqlCommand comm = new SqlCommand("GetDataList", conn);

    comm.Parameters.Add(new SqlParameter("@TableName", SqlDbType.NVarChar, 100)).Value = TblName;
    comm.Parameters.Add(new SqlParameter("@Fields", SqlDbType.NVarChar, 1000)).Value = Fields;
    comm.Parameters.Add(new SqlParameter("@OrderField", SqlDbType.NVarChar, 1000)).Value = OrderField;
    comm.Parameters.Add(new SqlParameter("@OrderType", SqlDbType.NVarChar, 1000)).Value = OrderType;
    comm.Parameters.Add(new SqlParameter("@sqlWhere", SqlDbType.NVarChar, 1000)).Value = SqlWhere;
    comm.Parameters.Add(new SqlParameter("@pageSize", SqlDbType.Int)).Value = PageSize;
    comm.Parameters.Add(new SqlParameter("@pageIndex", SqlDbType.Int)).Value = pageIndex;
    comm.Parameters.Add(new SqlParameter("@TotalPage", SqlDbType.Int));

    comm.Parameters["@TotalPage"].Direction = ParameterDirection.Output;//獲得out出來的參數值

    comm.Parameters.Add(new SqlParameter("@totalRecord", SqlDbType.Int));
    comm.Parameters["@totalRecord"].Direction = ParameterDirection.Output;

    comm.CommandType = CommandType.StoredProcedure;

    SqlDataAdapter dataAdapter = new SqlDataAdapter(comm);
    DataSet ds = new DataSet();
    dataAdapter.Fill(ds);

    TotalPage = (int)comm.Parameters["@TotalPage"].Value;
    TotalRecord = (int)comm.Parameters["@totalRecord"].Value;

    conn.Close();
    conn.Dispose();
    comm.Dispose();
    
    return ds;
  }
  #endregion
}

以上這篇通用SQL存儲過程分頁以及asp.net后臺調用的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • asp.net中如何調用sql存儲過程實現分頁
  • ASP.NET存儲過程實現分頁效果(三層架構)
  • SQL Server 分頁查詢通用存儲過程(只做分頁查詢用)

標簽:阜陽 AXB 貴港 張掖 雞西 衡水 萍鄉 酒泉

巨人網絡通訊聲明:本文標題《通用SQL存儲過程分頁以及asp.net后臺調用的方法》,本文關鍵詞  通用,SQL,存儲,過程,分頁,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《通用SQL存儲過程分頁以及asp.net后臺調用的方法》相關的同類信息!
  • 本頁收集關于通用SQL存儲過程分頁以及asp.net后臺調用的方法的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    无人码人妻一区二区三区免费| 欧美优质美女网站| 日韩视频在线你懂得| 亚洲一区二区偷拍精品| 91毛片在线观看| 在线看国产一区二区| 亚洲美女屁股眼交3| eeuss鲁一区二区三区| 艳母动漫在线看| 国产精品久久免费看| 成人一二三区视频| 艳母动漫在线看| 亚洲激情av在线| 性色av浪潮av| 在线综合+亚洲+欧美中文字幕| 亚洲.国产.中文慕字在线| 亚洲av永久无码精品| 91精品国产品国语在线不卡| 日韩电影在线一区| 丰满圆润老女人hd| 久久久国产一区二区三区四区小说| 国内精品久久久久影院一蜜桃| 黄色免费一级视频| 国产精品久久久久一区 | 午夜久久久久久久久久一区二区| 99re热视频这里只精品 | 国产成人精品网址| 色综合久久久久| 亚洲综合在线电影| 国产白袜脚足j棉袜在线观看| 日韩三级免费观看| 久久国产视频网| 五月天激情丁香| 亚洲午夜激情网站| 国产精品无码午夜福利| 国产视频一区二区三区在线观看| 成人午夜在线播放| 欧美日韩三级视频| 麻豆精品久久久| www.毛片com| 亚瑟在线精品视频| 国产精品久久久视频| 亚洲视频电影在线| 亚洲久久久久久| 中文字幕精品一区二区精品绿巨人| 99久久综合狠狠综合久久| 5566中文字幕一区二区电影| 久久国产精品72免费观看| 欧美激情精品久久久久久免费| 亚洲麻豆国产自偷在线| 亚洲最大的黄色网| 中文文精品字幕一区二区| 初高中福利视频网站| 亚洲精品一区二区三区精华液| 成人午夜私人影院| 欧美一级一级性生活免费录像| 国产一区二区三区四区五区美女| 91国产精品成人| 伦理电影国产精品| 在线亚洲一区二区| 麻豆91小视频| 欧美性生活影院| 国产在线观看免费一区| 欧美在线小视频| 精品一区二区三区在线观看国产| 在线中文字幕一区二区| 久草精品在线观看| 欧美日韩综合在线| 国产一级精品在线| 欧美精选午夜久久久乱码6080| 国产精品一区二区黑丝| 9191精品国产综合久久久久久| 国产精品资源网| 5858s免费视频成人| 成人午夜碰碰视频| 精品区一区二区| av地址在线观看| 国产日韩综合av| 亚洲天堂资源在线| 亚洲天堂精品视频| 狠狠色丁香久久婷婷综合_中| 色欧美片视频在线观看在线视频| 美女视频第一区二区三区免费观看网站| 色爱区综合激月婷婷| 国产麻豆午夜三级精品| 91麻豆精品久久久久蜜臀| 99精品视频在线观看免费| 久久老女人爱爱| 国产夫妻性爱视频| 一区二区三区毛片| 一区二区三区四区五区| 精品一二三四区| 91精品国产高清一区二区三区蜜臀 | 国产精品福利一区二区三区| 免费看日韩精品| 欧美性大战久久久久久久| 成人黄色在线网站| 久久久亚洲欧洲日产国码αv| 懂色av粉嫩av蜜乳av| 亚洲五码中文字幕| 91国偷自产一区二区三区观看 | 国产一区二区三区在线看麻豆| 日韩写真欧美这视频| 国产无套精品一区二区三区| 中文字幕色av一区二区三区| 国产黄色录像片| 国产中文字幕一区| 欧美不卡一二三| 免费a在线观看播放| 亚洲成人一二三| 欧美三级日韩三级| 91丝袜美腿高跟国产极品老师| 中文字幕一区三区| 三级全黄做爰视频| 国产一区二区三区免费在线观看| 2023国产精品视频| 人妻少妇一区二区| 欧美aa在线视频| 日韩精品在线一区二区| 精品久久久久久中文字幕人妻最新| 首页国产丝袜综合| 欧美肥妇free| 国产精品久久AV无码| 午夜影院久久久| 欧美精品黑人性xxxx| 蜜臀aⅴ国产精品久久久国产老师| 一区二区三区在线观看视频| 欧美私模裸体表演在线观看| 亚洲天堂小视频| 午夜久久福利影院| 欧美一卡2卡三卡4卡5免费| 丰满少妇一区二区三区| 麻豆高清免费国产一区| 337p粉嫩大胆色噜噜噜噜亚洲 | 国产欧美日韩精品在线| 亚洲少妇xxx| 成人a级免费电影| 亚洲视频一区二区在线| 在线视频国内一区二区| 乱码一区二区三区| 日本三级亚洲精品| 精品福利在线导航| 韩国一级黄色录像| 99精品视频一区二区| 亚洲国产一区二区三区青草影视| 在线91免费看| 人妻av无码一区二区三区| 国产乱子轮精品视频| 国产精品对白交换视频| 91啪亚洲精品| 亚洲成人午夜电影| 欧美tickling挠脚心丨vk| 337人体粉嫩噜噜噜| 成人动漫视频在线| 亚洲制服欧美中文字幕中文字幕| 91精品国产一区二区三区| 成都免费高清电影| 国产成人av电影免费在线观看| 亚洲欧美精品午睡沙发| 欧美一级一区二区| 国产视频精品免费| 91麻豆免费看| 蜜臀精品一区二区三区在线观看| 久久精品夜色噜噜亚洲aⅴ| 男女羞羞免费视频| 成熟妇人a片免费看网站| 国产综合久久久久影院| 中文字幕一区二区三区精华液| 欧美美女一区二区在线观看| 精品亚洲aⅴ无码一区二区三区| heyzo一本久久综合| 日韩精品一级中文字幕精品视频免费观看 | 欧美一级免费大片| 人与动物性xxxx| 久久发布国产伦子伦精品| 蜜桃免费网站一区二区三区| 国产精品午夜电影| 欧美日韩高清在线| 国产亚洲精品精品精品| 日批视频在线看| 九九九久久久精品| 亚洲精品成人a在线观看| 精品久久人人做人人爰| 色婷婷综合久久久久中文| 亚洲中文字幕一区| 成人在线视频首页| 日韩电影在线一区二区| 亚洲欧洲日韩av| 精品国产青草久久久久福利| 在线观看免费成人| 2019男人天堂| 精品少妇人妻av一区二区三区| 国产成人午夜99999| 日日夜夜精品视频免费| 国产精品久久久久一区二区三区| 日韩视频在线观看一区二区| 在线精品国精品国产尤物884a| 亚洲欧美va天堂人熟伦| 日本精品一二三区| 粉嫩av一区二区三区在线播放|