婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 通用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后臺調用的方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    www.成人网.com| 国内偷窥港台综合视频在线播放| 欧美成人乱码一区二区三区| 色噜噜狠狠成人网p站| 欧美日韩午夜精品| 在线观看日韩精品| 精品国产乱码久久久久久1区2区| 国产亚洲精品aa| 一区av在线播放| 久久99热这里只有精品| 91视频一区二区三区| 色屁屁一区二区| 欧美无砖砖区免费| 久久精品欧美一区二区三区麻豆| 亚洲色图在线看| 亚洲成人激情社区| 国产日产欧美一区| 亚洲国产一二三| 天天射综合影视| 免费的国产精品| 日韩一二三区不卡| 一区二区欧美国产| 日日嗨av一区二区三区四区| 白白色亚洲国产精品| 欧美一区二区三区四区五区| 亚洲午夜激情av| 日本道免费精品一区二区三区| 国产精品福利影院| 国产在线观看免费一区| 久久欧美中文字幕| 免费在线视频一区| 欧洲亚洲国产日韩| 日韩中文字幕av电影| 欧美日本一区二区三区| 麻豆国产精品官网| 中文字幕国产精品一区二区| 91在线免费播放| 亚洲成人动漫在线观看| 日韩三级视频在线看| 紧缚奴在线一区二区三区| 久久久www免费人成精品| 粉嫩在线一区二区三区视频| 亚洲日本一区二区三区| 日韩精品一区二| 97久久精品人人澡人人爽| **网站欧美大片在线观看| 91视频在线观看| 偷拍日韩校园综合在线| 中文字幕免费一区| 欧美色综合网站| 国产美女在线观看一区| 一区二区三区在线看| 精品日韩一区二区三区| 成人免费高清视频在线观看| 玉米视频成人免费看| 欧美日韩久久久一区| 成人激情动漫在线观看| 欧美在线免费播放| 国内久久精品视频| 蜜桃一区二区三区在线观看| 一区在线观看视频| 国产欧美一区二区精品性| 欧美精品久久久久久久多人混战| 成人精品一区二区三区四区| 亚洲午夜电影在线| 亚洲视频中文字幕| 在线视频综合导航| 欧美午夜寂寞影院| 99精品桃花视频在线观看| 亚洲国产电影在线观看| 国产精品进线69影院| 久久久久久久久久久久久夜| 欧美日韩你懂得| 欧美一区二区免费视频| 日本精品一级二级| 欧美亚洲免费在线一区| 日韩亚洲欧美在线| 国产欧美日韩精品一区| 亚洲欧美区自拍先锋| 夜夜嗨av一区二区三区网页| 午夜激情一区二区三区| 国产91精品久久久久久久网曝门| 一本一本久久a久久精品综合麻豆| 国产欧美日韩不卡| 日韩电影免费在线看| 国产成人午夜高潮毛片| 在线播放中文字幕一区| 亚洲你懂的在线视频| 亚洲影院免费观看| 黄色小说综合网站| 欧美一区二区三区小说| 亚洲青青青在线视频| 成人亚洲精品久久久久软件| 日韩欧美久久久| 天天av天天翘天天综合网 | 国产精品国产三级国产专播品爱网 | 国产成人aaa| 91精品国产综合久久精品app | 91精品在线一区二区| 3d成人h动漫网站入口| 亚洲人成精品久久久久久| 亚洲二区在线视频| 99久久精品国产网站| 欧美一区二区精品| 日韩影院精彩在线| 日本精品一级二级| 中文字幕av一区二区三区免费看 | 国产欧美日韩精品在线| 美女视频网站黄色亚洲| 色偷偷一区二区三区| 亚洲国产精品天堂| jiyouzz国产精品久久| 一区二区三区在线免费观看| 欧美怡红院视频| 日韩影院精彩在线| 久久久一区二区三区| 日韩欧美区一区二| 日韩不卡一区二区| 国产拍揄自揄精品视频麻豆| 91在线观看免费视频| 日本欧美一区二区在线观看| 欧美电视剧在线看免费| 99久久夜色精品国产网站| 欧美一区二区三区啪啪| 波波电影院一区二区三区| 亚洲18影院在线观看| 日韩欧美在线观看一区二区三区| 视频一区在线视频| 亚洲欧美日韩电影| 日韩精品中文字幕一区| 成av人片一区二区| 国产福利91精品一区二区三区| 欧美电视剧在线看免费| 激情图区综合网| 欧美视频在线一区| 日韩av一区二| 久久国产精品露脸对白| 国产精品资源站在线| 99国产精品国产精品久久| 色综合天天天天做夜夜夜夜做| 日本韩国一区二区| 国内欧美视频一区二区| 亚洲国产另类精品专区| 成人免费在线播放视频| 欧美极品aⅴ影院| 久久这里只有精品视频网| 久久无码av三级| 欧美经典一区二区三区| 欧美午夜精品一区二区三区| 国产精品自在在线| 亚洲精品综合在线| 亚洲欧洲成人自拍| 日韩欧美的一区二区| 2020国产成人综合网| 日韩色在线观看| 国产午夜精品久久久久久免费视 | 亚洲国产精品ⅴa在线观看| 欧美日韩黄色一区二区| 日韩欧美激情四射| 日韩一区中文字幕| 一二三四社区欧美黄| 国产毛片一区二区| 欧美日韩精品一区二区三区四区| 色婷婷亚洲综合| 久久久久国色av免费看影院| 国产精品免费av| 激情六月婷婷综合| 欧美中文字幕一二三区视频| 欧美mv和日韩mv的网站| 亚洲色图色小说| 日韩在线观看一区二区| 成人午夜av在线| 久久先锋影音av鲁色资源网| 亚洲综合色成人| 色又黄又爽网站www久久| 日韩欧美的一区| 中文字幕中文字幕一区| 国产毛片精品视频| 日韩欧美激情在线| 日韩va亚洲va欧美va久久| 欧美人妖巨大在线| 欧美aⅴ一区二区三区视频| 日韩一区二区高清| 国产福利91精品| 中文字幕一区二| 在线日韩av片| 日韩高清在线不卡| 欧美伊人精品成人久久综合97| 国产精品福利一区二区| 在线观看视频一区二区| 国产精品妹子av| 色综合中文字幕国产 | 美日韩一区二区| 久久久国产午夜精品| 无吗不卡中文字幕| 91精品久久久久久蜜臀| 亚洲三级在线看| 91在线观看地址| 久久影院电视剧免费观看| 91污在线观看|