国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

通用SQL存儲(chǔ)過(guò)程分頁(yè)以及asp.net后臺(tái)調(diào)用

數(shù)據(jù)庫(kù) SQL Server
創(chuàng)建表格并添加300萬(wàn)數(shù)據(jù)

 創(chuàng)建表格并添加300萬(wàn)數(shù)據(jù)

  1. use Stored 
  2. CREATE TABLE UserInfo(  --創(chuàng)建表 
  3. id int  IDENTITY(1,1) PRIMARY KEY not null,--添加主鍵和標(biāo)識(shí)列 
  4. UserName varchar(50)  
  5.   
  6. declare @i int  --添加3百萬(wàn)數(shù)據(jù),大概4分鐘時(shí)間 
  7. set @i=1 
  8. while @i<3000000 
  9. begin 
  10. insert into UserInfo (UserName) values(@i) 
  11. set @i=@i+1 
  12. end 

存儲(chǔ)過(guò)程T-SQL

  1. USE [Stored] 
  2. GO 
  3. /****** Object:  StoredProcedure [dbo].[GetDataList]    Script Date: 08/17/2015 16:40:21 ******/ 
  4. SET ANSI_NULLS ON 
  5. GO 
  6. SET QUOTED_IDENTIFIER ON 
  7. GO 
  8. ALTER  PROCEDURE [dbo].[GetDataList] 
  9.  @TableName  varchar(5000),       --表名 
  10.  @Fields varchar(5000) = '*',     --字段名(全部字段為*) 
  11.  @OrderField varchar(5000),       --排序字段(必須!支持多字段) 
  12.  @OrderType varchar(5000),        --排序類型 
  13.  @sqlWhere varchar(5000) = Null,  --條件語(yǔ)句(不用加where) 
  14.  @pageSize int,                   --每頁(yè)多少條記錄 
  15.  @pageIndex int = 1 ,             --指定當(dāng)前為第幾頁(yè) 
  16.  @TotalPage int output,           --返回總頁(yè)數(shù)  
  17.  @totalRecord int output       --計(jì)算總記錄數(shù)              --返回總記錄數(shù) 
  18.  ) 
  19. as 
  20. begin    Begin Tran --開(kāi)始事務(wù)    Declare @sql nvarchar(4000); 
  21.      
  22.     Declare   @sql nvarchar(500)=''   
  23.     if (@SqlWhere='' or @sqlWhere=NULL
  24.         set @sql = 'select @totalRecord = count(*) from ' + @TableName 
  25.     else 
  26.         set @sql = 'select @totalRecord = count(*) from ' + @TableName + ' where ' + @sqlWhere    
  27.            EXEC sp_executesql @sql,N'@totalRecord int OUTPUT',@totalRecord OUTPUT--計(jì)算總記錄數(shù)   
  28.                  
  29.      
  30.     --計(jì)算總頁(yè)數(shù) 
  31.     select @TotalPage=CEILING((@totalRecord+0.0)/@PageSize)    if (@SqlWhere='' or @sqlWhere=NULL
  32.         set @sql = 'Select * FROM (select ROW_NUMBER() Over(order by ' + @OrderField +' ' + @Ordertype+' ) as rowId,' + @Fields + ' from ' + @TableName  
  33.     else 
  34.         set @sql = 'Select * FROM (select ROW_NUMBER() Over(order by ' + @OrderField +' ' + @Ordertype+'  ) as rowId,' + @Fields + ' from ' + @TableName + ' where ' + @SqlWhere     
  35.  
  36. --處理頁(yè)數(shù)超出范圍情況 
  37.     if @PageIndex<=0  
  38.         Set @pageIndex = 1 
  39.      
  40.     if @pageIndex>@TotalPage 
  41.         Set @pageIndex = @TotalPage     --處理開(kāi)始點(diǎn)和結(jié)束點(diǎn) 
  42.     Declare @StartRecord int 
  43.     Declare @EndRecord int 
  44.      
  45.     set @StartRecord = (@pageIndex-1)*@PageSize + 1 
  46.     set @EndRecord = @StartRecord + @pageSize - 1    --繼續(xù)合成sql語(yǔ)句 
  47.     set @Sql = @Sql + ') as ' + @TableName + ' where rowid between ' + Convert(varchar(50),@StartRecord) + ' and ' +  Convert(varchar(50),@EndRecord)  
  48.     --print @Sql   
  49.      
  50.      Exec(@Sql) 
  51.     --------------------------------------------------- 
  52.     If @@Error <> 0 
  53.       Begin 
  54.         RollBack Tran 
  55.         Return -1 
  56.       End 
  57.      Else 
  58.       Begin 
  59.         Commit Tran 
  60.         Return @totalRecord ---返回記錄總數(shù) 
  61.       End     
  62. end 
  63.  
  64. --exec GetDataList 'Userinfo','*','id','desc','',10,1,3,3000000 

前臺(tái)頁(yè)面Default2.aspx

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> 
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml"
  6. <head runat="server"
  7.     <title></title> 
  8. </head> 
  9. <body> 
  10.     <form id="form1" runat="server"
  11.     <div> 
  12.      <asp:GridView ID="GridView1" runat="server"
  13.         </asp:GridView> 
  14.        <asp:Label ID="lbl_page" runat="server" Text="Label"></asp:Label> 
  15.     </div> 
  16.     </form> 
  17. </body> 
  18. </html> 

后臺(tái)CS代碼Default2.aspx.cs

  1. using System; 
  2. using System.Collections.Generic; 
  3. using System.Linq; 
  4. using System.Web; 
  5. using System.Web.UI; 
  6. using System.Web.UI.WebControls; 
  7. using System.Data; 
  8. using System.Data.SqlClient; 
  9. using System.Configuration; 
  10. using System.Text; 
  11.  
  12.  
  13. public partial class Default2 : System.Web.UI.Page 
  14. {    
  15.     private int PageIndex = 0;//當(dāng)前頁(yè)碼 
  16.     private int PageSize = 50;//每頁(yè)幾條記錄 
  17.     private int TotalPage = 1;//總分頁(yè)數(shù) 
  18.     private int TotalRecord = 0;//總記錄 
  19.     private string OrderType = " desc";//排序方式 默認(rèn)正序 
  20.     protected void Page_Load(object sender, EventArgs e) 
  21.     { 
  22.         if (!IsPostBack) 
  23.         { 
  24.             GetParams(); 
  25.             DataSet ds = PageData("UserInfo""*""id", OrderType, "", PageSize, PageIndex, out TotalPage, out TotalRecord); 
  26.             GridView1.DataSource = ds; 
  27.             GridView1.DataBind(); 
  28.             lbl_page.Text = GetDivPager("", ds); 
  29.         } 
  30.     } 
  31.  
  32.     //數(shù)據(jù)庫(kù)連接字符 
  33.     public static string StrConn() 
  34.     { 
  35.         //return string.Format("{0}","server=.;database=Stored;user=sa;password=123456"); 
  36.         return ConfigurationSettings.AppSettings["ConnString"].ToString(); 
  37.     } 
  38.     //Get方式獲得下一頁(yè) 
  39.     private void GetParams() 
  40.     { 
  41.         if (!String.IsNullOrEmpty(Request["page"])) 
  42.         { 
  43.             PageIndex = Convert.ToInt32(Request["Page"]); 
  44.         } 
  45.         else 
  46.         { 
  47.             PageIndex = 1; 
  48.         } 
  49.     } 
  50.     #region 獲得分頁(yè)字符 
  51.     public string GetDivPager(string queryString, DataSet ds) 
  52.     { 
  53.         StringBuilder sp = new StringBuilder(); 
  54.         int TotalCount = TotalRecord; 
  55.         int rowCount = TotalPage; 
  56.         if (ds != null
  57.         { 
  58.             sp.AppendFormat("  <p>總記錄:<span id=\"sum\">{0}</span>", TotalCount); 
  59.             sp.AppendFormat("  頁(yè)碼:<em><b id=\"current\">{0}</b>/<span id=\"count\">{1}</span></em> ", PageIndex, rowCount); 
  60.             sp.AppendFormat("  每頁(yè):<span id=\"eachPage\">{0}</span></p> ", PageSize); 
  61.              
  62.             sp.AppendFormat("  <a  href='{0}'>首頁(yè)</a> ""?page=1" + queryString); 
  63.             if (PageIndex > 1) 
  64.             { 
  65.                 sp.AppendFormat("  <a href='{0}'>< 上一頁(yè) </a>""?page=" + (PageIndex - 1) + queryString); 
  66.             } 
  67.             int temp = 0; 
  68.             int loopc = rowCount > 10 ? 10 : rowCount; 
  69.             for (int i = 0; i < loopc; i++) 
  70.             { 
  71.                 temp = i + 1; 
  72.                 if (PageIndex > 10) { temp = (PageIndex - 10) + i + 1; } 
  73.                 sp.AppendFormat("  <a class=\"{0}\" href='{1}'>{2}</a>", PageIndex == temp ? "active" : """?page=" + temp + queryString, temp); 
  74.             } 
  75.             if (PageIndex != rowCount) 
  76.             { 
  77.                 sp.AppendFormat("  <a href='{0}'>下一頁(yè) ></a>""?page=" + (PageIndex + 1) + queryString); 
  78.             } 
  79.             sp.AppendFormat("  <a href='{0}'>尾頁(yè)</a>""?page=" + rowCount + queryString); 
  80.            
  81.         } 
  82.         else 
  83.         { 
  84.             ds = null
  85.         } 
  86.         return sp.ToString(); 
  87.     } 
  88.     #endregion 
  89.     #region 獲取分頁(yè)的數(shù)據(jù) 
  90.     /// <summary> 
  91.     /// 獲取分頁(yè)的數(shù)據(jù) 
  92.     /// </summary> 
  93.     /// <param name="TblName">數(shù)據(jù)表名</param> 
  94.     /// <param name="Fields">要讀取的字段</param> 
  95.     /// <param name="OrderField">排序字段</param> 
  96.     /// <param name="OrderType">排序方式</param> 
  97.     /// <param name="SqlWhere">查詢條件</param> 
  98.     /// <param name="PageSize">每頁(yè)顯示多少條數(shù)據(jù)</param> 
  99.     /// <param name="pageIndex">當(dāng)前頁(yè)碼</param> 
  100.     /// <param name="TotalPage">返回值,共有多少頁(yè)</param> 
  101.     /// <param name="TotalRecord">返回值,總有多少條記錄</param> 
  102.     /// <returns></returns
  103.     public static DataSet PageData(string TblName, string Fields, string OrderField, string OrderType, string SqlWhere, int PageSize, int pageIndex, out int TotalPage, out int TotalRecord) 
  104.     { 
  105.  
  106.         SqlConnection conn = new SqlConnection(StrConn()); 
  107.         SqlCommand comm = new SqlCommand("GetDataList", conn); 
  108.  
  109.         comm.Parameters.Add(new SqlParameter("@TableName", SqlDbType.NVarChar, 100)).Value = TblName; 
  110.         comm.Parameters.Add(new SqlParameter("@Fields", SqlDbType.NVarChar, 1000)).Value = Fields; 
  111.         comm.Parameters.Add(new SqlParameter("@OrderField", SqlDbType.NVarChar, 1000)).Value = OrderField; 
  112.         comm.Parameters.Add(new SqlParameter("@OrderType", SqlDbType.NVarChar, 1000)).Value = OrderType; 
  113.         comm.Parameters.Add(new SqlParameter("@sqlWhere", SqlDbType.NVarChar, 1000)).Value = SqlWhere; 
  114.         comm.Parameters.Add(new SqlParameter("@pageSize", SqlDbType.Int)).Value = PageSize; 
  115.         comm.Parameters.Add(new SqlParameter("@pageIndex", SqlDbType.Int)).Value = pageIndex; 
  116.         comm.Parameters.Add(new SqlParameter("@TotalPage", SqlDbType.Int)); 
  117.  
  118.         comm.Parameters["@TotalPage"].Direction = ParameterDirection.Output;//獲得out出來(lái)的參數(shù)值 
  119.  
  120.         comm.Parameters.Add(new SqlParameter("@totalRecord", SqlDbType.Int)); 
  121.         comm.Parameters["@totalRecord"].Direction = ParameterDirection.Output
  122.  
  123.         comm.CommandType = CommandType.StoredProcedure; 
  124.  
  125.         SqlDataAdapter dataAdapter = new SqlDataAdapter(comm); 
  126.         DataSet ds = new DataSet(); 
  127.         dataAdapter.Fill(ds); 
  128.  
  129.         TotalPage = (int)comm.Parameters["@TotalPage"].Value; 
  130.         TotalRecord = (int)comm.Parameters["@totalRecord"].Value; 
  131.  
  132.         conn.Close(); 
  133.         conn.Dispose(); 
  134.         comm.Dispose(); 
  135.          
  136.         return ds; 
  137.     } 
  138.     #endregion 

 

責(zé)任編輯:honglu 來(lái)源: 博客園
相關(guān)推薦

2012-04-23 15:10:18

ASP.NET

2011-04-29 13:23:11

分頁(yè)數(shù)據(jù)存儲(chǔ)

2009-07-27 14:33:51

ASP.NET調(diào)用存儲(chǔ)

2009-07-27 14:41:33

ASP.NET調(diào)用存儲(chǔ)

2009-11-06 09:23:41

ASP.NET高效分頁(yè)

2009-03-11 11:46:11

JSPASP.NET存儲(chǔ)過(guò)程

2011-06-17 17:37:16

JavaSQL Server

2010-03-19 09:17:16

ASP.NET MVC

2009-07-27 17:54:39

WCF服務(wù)ASP.NET

2010-11-10 15:16:14

Sql Server分

2009-07-28 11:23:04

Excel導(dǎo)入SQL

2010-01-22 16:48:54

VB.NET調(diào)用SQL

2012-04-13 10:05:24

ASP.NET

2009-07-28 14:47:18

ASP.NET MVC

2009-07-22 16:02:39

ASP.NET MVCPagedList

2009-07-20 13:14:25

安裝ASP.NET A

2009-07-24 09:02:24

ASP.Net RSA

2009-08-04 14:23:36

ASP.NET查詢分頁(yè)

2009-08-05 16:59:38

ASP.NET調(diào)用Ex

2011-08-16 16:59:58

PLSQL分頁(yè)存儲(chǔ)過(guò)程Java
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

日本成年人网址| 国产 日韩 亚洲 欧美| 欧美三电影在线| 欧美亚洲综合另类| 色吧影院999| 欧美高清性xxxxhd | 国产午夜精品一区二区三区嫩草 | 不卡的av在线| 亚洲精品一区二区在线观看| 国产精品高潮粉嫩av| 国产在线88av| 性欧美videos另类喷潮| 国产精品剧情在线亚洲| 精品免费日韩av| 91传媒久久久| 秋霞影院一区| 激情欧美一区二区三区在线观看| 91麻豆精品91久久久久久清纯| 7777精品久久久久久| 蜜桃视频日韩| 欧美特黄不卡| 亚洲激情一二三区| 欧美性猛交xxxx乱大交退制版| 色天天综合色天天久久| 可以在线看的av网站| 男人的天堂亚洲| 91超碰在线电影| 国产欧美亚洲精品a| 久久露脸国产精品| 最新欧美电影| 精品免费视频.| 黄网站免费在线观看| 欧美三级韩国三级日本一级| 免费成人av电影| 亚洲国产乱码最新视频| 精产国产伦理一二三区| 国产精品二三区| 91骚色在线| 亚洲精品免费看| 理论片鲁丝二区爱情网| 一区二区三区四区中文字幕| 国产免费福利网站| 亚洲精品国产品国语在线app| 日韩中文字幕a| 亚洲人精品一区| 成r视频免费观看在线播放| 亚洲国产一区二区三区| 爱草在线视频| 亚洲国产欧美另类丝袜| 国产黄在线看| 日韩美一区二区三区| 成年女人在线看片| 中文字幕视频一区二区在线有码| 99er精品视频| 国产69精品久久久久99| 精品久久久久中文字幕小说| 亚洲永久在线观看| 久久午夜视频| 97超碰国产精品| 中文在线免费一区三区高中清不卡| 天天干天天玩天天操| 婷婷综合另类小说色区| 中国日本在线视频中文字幕| 亚洲精品在线观| 免费成人毛片| 国产精品久久久久久久久| 在线成人欧美| 大伊香蕉精品视频在线| 一区二区三区欧美日韩| 好了av在线| www.日韩.com| 成人毛片在线| 亚洲一区二区三区加勒比| 91影院在线观看| 在线免费观看你懂的| 亚洲成人av片| 国产一区二区三区亚洲| 国产原创精品| av中文字幕一区| 三级在线电影| 在线观看日韩视频| 日本一本不卡| 经典三级在线视频| 亚洲一区免费视频| 黄视频免费在线看| 欧美一区亚洲一区| 天堂一区二区在线免费观看| 国产97色在线 | 日韩| 欧美日韩精品一区二区三区蜜桃| 日韩一区二区电影在线| 日本在线播放一二三区| 欧美精品videos性欧美| 在线高清一区| 日本成人黄色网| 欧美在线视频你懂得| 麻豆久久久久| 久久精品午夜一区二区福利| 久久综合九色综合欧美98| 99精品老司机免费视频| 久久精品最新地址| 99热精品在线| 1区不卡电影| 精品视频中文字幕| 天天做天天爱天天综合网| 国产人妻777人伦精品hd| 欧美性猛交一区二区三区精品| 日韩亚洲精品在线观看| 欧美中文娱乐网| 亚洲二区在线观看| 电影一区二区三区久久免费观看| 狠狠色狠狠色综合人人| 中文字幕亚洲一区二区va在线| 91超碰在线播放| 成人免费观看a| 国产人伦精品一区二区| 美女航空一级毛片在线播放| 日韩av电影在线网| 成人免费看视频| 国产写真视频在线观看| 国产成人精品午夜| 久久久久久久久蜜桃| 影院在线观看全集免费观看| 国产精品久久久久久久久久| fc2成人免费人成在线观看播放| 日本在线播放| 狠狠干狠狠久久| 动漫一区二区三区| 日本在线观看一区| 一道本成人在线| 九九热线有精品视频99| 无码专区aaaaaa免费视频| 亚洲国产成人精品一区二区| 日韩视频一区| 欧美高清性xxxxhdvideosex| 精品国偷自产在线视频| 一区免费观看视频| 久久久久国产一区二区三区四区| 成人v精品蜜桃久久一区| 亚洲永久字幕| 国产高清视频色在线www| 国产精品狠色婷| 久久一日本道色综合| 国产精品国产精品国产专区不片| 日本免费在线视频| 国产成人久久久精品一区| 成人永久aaa| 新版中文在线官网| 亚洲aaa激情| 亚洲国产综合在线| 婷婷综合电影| 一区二区xxx| 另类色图亚洲色图| 成人教育av在线| 婷婷激情一区| 欧美精品久久96人妻无码| 欧美人牲a欧美精品| 欧美卡1卡2卡| 在线观看日韩av先锋影音电影院| 国产成人精品免费网站| 精品九九在线| 日韩网站中文字幕| 免费高清成人| 免费亚洲精品视频| 亚洲日本中文字幕| 亚洲欧美激情一区二区| 欧美三级网页| 九七伦理97伦理手机| 久久99亚洲热视| 日本一区二区免费在线观看视频 | 秋霞影院一区二区三区| 日韩视频免费在线播放| 久久免费国产视频| 一区二区高清视频在线观看| 成人激情电影在线| 高清性色生活片在线观看| 韩国成人av| 日韩av在线影院| 成人激情小说乱人伦| av综合网址| 亚洲成人精品一区二区三区| 激情伦成人综合小说| 欧美精品一区二区蜜臀亚洲| 国产精品77777| www.豆豆成人网.com| 成年人在线播放| 亚洲高清在线播放| 2022亚洲天堂| 欧美性猛交xxxx富婆| 免费欧美一区| 头脑特工队2在线播放| 91美女片黄在线观看游戏| 亚洲h在线观看| 你懂的成人av| 9999在线视频| 无码内射中文字幕岛国片| 国产精品ⅴa在线观看h| 欧美自拍偷拍一区| 国产精品自在在线| www.国产精品一区| 91成人免费视频|