日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MS SQL Server 2005 開發之分頁存儲過程

瀏覽:237日期:2023-11-01 16:51:27
在工作中經常會用到分頁顯示數據,如果使用.NET開發,可以使用DataGrid控件的分頁功能,也可以使用PagedDataSource類來輔助完成。但這兩種方式都將從數據庫中獲取所有的記錄,將記錄數目較大時,效率很低,因此直接使用存儲過程來進行分頁,則將會提供更好的性能。在CSDN的數據庫開發社區,有許多大俠都寫出了自己的分頁存儲過程,經過整理之后,給一個完整的例子。 首先創建一個分頁存儲過程,下面的分頁存儲過程是在pbsql大俠提供的分頁存儲過程的基礎上修改而成的。CREATEPROCEDUREsp_page @strTable;;;;varchar(50),--表名 @strColumn;;;varchar(50),--按該列來進行分頁 @intColType;;int,--@strColumn列的類型,0-數字類型,1-字符類型,2-日期時間類型 @intOrder;;;;bit,--排序,0-順序,1-倒序 @strColumnlist varchar(800), --要查詢出的字段列表,*表示全部字段 @intPageSize;int,--每頁記錄數 @intPageNum;;int,--指定頁 @strWhere;;;;varchar(800), --查詢條件 @intPageCountintOUTPUT--總頁數AS DECLARE@sql;nvarchar(4000) --用于構造SQL語句DECLARE@where1 varchar(800)--構造條件語句DECLARE@where2 varchar(800)--構造條件語句IF@strWhereisnullorrtrim(@strWhere)=''-- 為了避免SQL關鍵字與字段、表名等連在一起,首先為傳入的變量添加空格BEGIN; --沒有查詢條件 SET@where1=' WHERE ' SET@where2=' 'ENDELSEBEGIN; --有查詢條件 SET@where1=' WHERE ('+@strWhere+') AND ' SET@where2=' WHERE ('+@strWhere+') 'END set @strColumn = ' ' + @strColumn + ' 'set @strColumnlist = ' ' + @strColumnlist + ' '--構造SQL語句,計算總頁數。計算公式為 總頁數 = Ceiling ( 記錄個數 / 頁大小 ) http://www.mypchelp.cnSET@sql='SELECT@intPageCount=CEILING((COUNT(*)+0.0)/' + CAST(@intPageSizeASvarchar) + ')FROM' + @strTable + @where2--執行SQL語句,計算總頁數,并將其放入@intPageCount變量中EXEC sp_executesql @sql,N'@intPageCountintOUTPUT',@intPageCountOUTPUT --將總頁數放到查詢返回記錄集的第一個字段前,此語句可省略SET; @strColumnlist= Cast(@intPageCount as varchar(30)) + ' as PageCount,' + @strColumnlistIF@intOrder=0--構造升序的SQL SET @sql='SELECT TOP '+ CAST(@intPageSizeASvarchar) + @strColumnlist + ' FROM ' + @strTable + @where1 + @strColumn + '>(SELECT MAX('+@strColumn+') '+ ' FROM (SELECT TOP '+ CAST(@intPageSize*(@intPageNum - 1) AS; varchar) + @strColumn + ' FROM '+ @strTable+@where2+'ORDER BY '+@strColumn+') t) ORDER BY '+ @strColumnELSE;;;--構造降序的SQL SET @sql='SELECT TOP '+ CAST(@intPageSizeASvarchar) + @strColumnlist+ ' FROM '+ @strTable + @where1 + @strColumn + '<(SELECTMIN('+@strColumn+')'+ ' FROM (SELECT TOP '+ CAST(@intPageSize*(@intPageNum - 1) AS; varchar) + @strColumn + ' FROM '+ @strTable+@where2+'ORDERBY '+@strColumn+' DESC)t)ORDERBY'+ @strColumn + ' DESC';;;;;IF@intPageNum=1--第一頁 SET@sql='SELECTTOP'+CAST(@intPageSizeASvarchar) + @strColumnlist + ' FROM '+@strTable+ @where2+'ORDERBY'+@strColumn+CASE @intOrder WHEN; 0 THEN; '' ELSE; ' DESC' END--PRINT@sqlEXEC(@sql)GO下面創建一個數據表,進行測試,并向表中添加123個測試數據。if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[myUser]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[myUser]GOCREATE TABLE [dbo].[myUser] ( [UserId] [int] IDENTITY (1, 1) NOT NULL , [UserName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY]GOdeclare @i intset @i=1while ( @i <= 123 )begin insert into myUser (UserName) values ( 'test' + cast(@i as varchar(6))) set @i = @i + 1end調用存儲過程declare@ointexecsp_page'myUser','UserId',0,0,'*',15,1,'',@ooutputexecsp_page'myUser','UserId',0,0,'*',15,9,'',@ooutput如果在.Net中,可以使用輸出參數。下面給出C#的從存儲過程中輸出參數的例子 ...... int iPage=1; SqlCommand cmd = new SqlCommand('sp_page', conn ); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add('@strTable', 'myUser'); cmd.Parameters.Add('@strColumn', 'UserId'); cmd.Parameters.Add('@intColType', 0); cmd.Parameters.Add('@intOrder', 0); cmd.Parameters.Add('@strColumnlist', '*'); cmd.Parameters.Add('@intPageSize', 15); cmd.Parameters.Add('@intPageNum', iPage); cmd.Parameters.Add('@strWhere', ''); SqlParameter paramPageCount = cmd.Parameters.Add('@intPageCount', SqlDbType.Int); paramPageCount.Direction = ParameterDirection.Output; //可以改為ExecuteReader() cmd.ExecuteNonQuery(); Response.Write(paramPageCount.Value.ToString()); http://blog.csdn.net/mengyao/archive/2007/02/16/1511276.aspx
標簽: Sql Server 數據庫
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
丝袜美腿一区二区三区| 日韩不卡在线| 日韩欧美午夜| 久久婷婷一区| 在线日韩中文| 免费在线看一区| 亚洲精华国产欧美| 亚洲国产专区| 日本久久成人网| 欧美激情一区| 高清久久一区| 日韩高清中文字幕一区二区| 综合国产在线| 国产精品视频3p| 精品一区二区男人吃奶| 99久久99久久精品国产片果冰| 成人三级高清视频在线看| 欧美日韩国产一区精品一区| 色婷婷精品视频| 新版的欧美在线视频| 亚洲黄色免费看| 超碰超碰人人人人精品| 视频一区国产视频| 亚洲97av| 久久99国产精品视频| 六月丁香综合在线视频| 国产一区二区精品久| av高清不卡| 亚洲福利专区| 日韩精品一级中文字幕精品视频免费观看 | 日韩a一区二区| 亚洲成人精选| 国产欧美日韩一区二区三区在线| 日韩欧美中文字幕在线视频| 久久毛片亚洲| 婷婷激情一区| 女主播福利一区| 蜜臀久久久久久久| 欧美欧美黄在线二区| 国精品一区二区| 欧美在线资源| 欧美一区二区三区久久精品| 九一国产精品| 噜噜噜久久亚洲精品国产品小说| 国产精品毛片视频| 美女网站一区| 另类av一区二区| 欧美日韩xxxx| 国产精品不卡| 先锋影音久久久| 国产精品毛片aⅴ一区二区三区| av日韩中文| 99国产精品99久久久久久粉嫩| 欧美91在线| 少妇久久久久| 亚洲香蕉视频| 精品久久在线| 亚洲一区二区成人| 国产欧美久久一区二区三区| 精精国产xxxx视频在线播放| 亚洲精品激情| 亚洲天堂av影院| 国产精品嫩草99av在线| 91精品啪在线观看国产爱臀| 欧美成a人免费观看久久| 日本午夜精品| 91看片一区| 欧美在线看片| 99久久精品网| 国产精品一区二区三区av| 亚洲91视频| 国产精品一区2区3区| 亚洲伊人影院| 国产aⅴ精品一区二区四区| 国产视频欧美| 精品视频在线观看网站| 久久都是精品| 91欧美在线| 亚洲精品伊人| 色88888久久久久久影院| 日本a级不卡| 另类亚洲自拍| 日韩综合精品| 国产精品2区| 亚洲精品乱码| 91久久亚洲| 98精品视频| 欧美日韩视频免费看| 亚洲精品小说| 亚洲一区二区三区免费在线观看| 成人国产精品一区二区网站| 日本va欧美va精品发布| 激情综合自拍| 欧美日韩免费看片| 红杏一区二区三区| 欧美中文一区| 丝袜亚洲精品中文字幕一区| 蜜桃一区二区三区| 中文字幕成在线观看| 国产精品男女| 日韩精品第一| 爽好久久久欧美精品| 欧美日韩国产免费观看视频| 97精品在线| 国产精品啊v在线| 国产精品毛片久久| 日韩av在线免费观看不卡| 美女精品网站| 午夜影院欧美| 激情综合自拍| 国产一区日韩欧美| 午夜av不卡| 成人一二三区| 国产66精品| 精品国产麻豆| 国产精品亚洲一区二区在线观看| 日本不卡视频在线观看| 久久国产福利| 亚洲综合欧美| 国精品一区二区三区| 欧美日韩视频网站| 日韩欧美综合| 91精品xxx在线观看| 国产精品一国产精品| 亚洲人成亚洲精品| 欧美精品不卡| 欧美日韩亚洲一区三区| 国产欧美一区| 国产精品多人| 美女久久精品| 免费精品国产的网站免费观看| 亚洲高清av| 中文在线一区| 精品久久99| 国产精品视频一区视频二区| 欧美日韩一视频区二区| 中文字幕日韩亚洲| 亚洲精品免费观看| 日韩不卡一二三区| 亚洲精品一级| 国产精品v日韩精品v欧美精品网站 | 日韩在线视频精品| 欧美日韩午夜电影网| 国产探花一区二区| 国产精品115| 精品久久网站| 国产传媒在线观看| 久久精品影视| 先锋亚洲精品| 欧美欧美黄在线二区| 麻豆免费精品视频| 日韩精品电影| 黄色亚洲精品| 免费一级片91| 色综合视频一区二区三区日韩 | 在线视频免费在线观看一区二区| 国产亚洲精品v| 久久狠狠婷婷| 亚洲一区亚洲| 四虎在线精品| 国产精品入口久久| 成人一区而且| aⅴ色国产欧美| 日本电影久久久| 欧美精品导航| 黑森林国产精品av| 欧美丝袜一区| 蜜臀国产一区二区三区在线播放| 91欧美精品| 国产中文字幕一区二区三区| 91精品国产调教在线观看| 亚洲欧美日韩精品一区二区| 日韩精品中文字幕一区二区| 精品黄色一级片| 激情久久久久久久| 日韩福利视频一区| 91日韩免费| 亚洲最新av| 91一区二区| 亚洲一区二区三区四区电影| 国产精品久久久久久久久久齐齐 | 久久只有精品| 香蕉久久99| 国产亚洲电影| 日韩精品欧美| 欧美一区成人| 1024精品一区二区三区| 日韩动漫一区| 午夜精品成人av| 日韩精品视频在线看| 老色鬼精品视频在线观看播放| 久久国产影院| 日韩av资源网| 九九综合在线| 电影91久久久| 日本成人在线一区| 欧美aa国产视频| 久久亚洲国产精品尤物| 视频在线观看91| 欧美天堂视频|