多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > AJAX分頁 (內容涉及到 存儲過程)

AJAX分頁 (內容涉及到 存儲過程)

來源:程序員人生   發布時間:2015-01-19 08:56:43 閱讀次數:3298次

<1>

首先我們在數據庫(SQL Server)中聲明定義存儲進程

use sales --指定數據庫 if(exists(select * from sys.objects where name='proc_location_Paging')) --如果這個proc_location_paging存儲進程存在則刪除 drop proc proc_location_Paging go create proc proc_location_Paging --創建存儲進程 ( @pageSize int, --頁大小 @currentpage int, --當前頁 @rowCount int output, --總行數(傳出參數) @pageCount int output --總頁數(傳出參數) ) as begin select @rowCount= COUNT(locid) from location --給@rowCount賦值 select @pageCount= CEILING((count(locid)+0.0)/@pageSize) from location --給@pageCount賦值 select top (@pagesize)* from (select ROW_NUMBER() over(order by locid) as rowID,* from location) as t1 where rowID >(@pageSize*(@currentpage⑴)) end go ---------------------------------以上就表示這個存儲進程已定義完了。 ---------------------------------以下是履行這個存儲進程。我們可以看結果 declare @rowCount int,@pageCount int --先聲明兩個參數 --履行proc_location_Paging這個存儲進程。@rowCount,@pageCount后面都有output 表示它們兩是輸出參數 exec proc_location_Paging 10,1,@rowCount output,@pageCount output select @rowCount,@pageCount --查詢這兩個參數的值


<2>

由于是直接訪問數據庫的,所以我們將下面這條方法寫入到DAL層中,這里我將它寫入到SqlHelper中

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Configuration; using System.Data.SqlClient; using System.Data; using System.Reflection; namespace LLSql.DAL { public class SqlHelper { /// <summary> /// 獲得連接數據庫字符串 /// </summary> private static string connStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; public static DataTable ExecuteProcPageList(int pageSize, int currentPage, out int rowCount, out int pageCount) { using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = "proc_location_paging"; //存儲進程的名字 cmd.CommandType = CommandType.StoredProcedure; //設置命令為存儲進程類型(即:指明我們履行的是1個存儲進程) rowCount = 0; pageCount = 0;//這里隨意給rowCount,pageCount賦個值,由于使用out傳遞參數的時候,在方法內部1定要給out參數賦值才能用它,但是雖然這里給它賦初值了,但是在履行存儲進程中,存儲進程又會給這兩個參數賦值,并返還回來給我們,那個才是我們要值 SqlParameter[] parameters ={ new SqlParameter("@pageSize",pageSize), new SqlParameter("@currentpage",currentPage), new SqlParameter("@rowCount",rowCount), new SqlParameter("@pageCount",pageCount) }; //由于在存儲進程中@rowCount 與@pageCount 是1個輸出參數(output), 而parameters這個數組里,第3,和第4個參數就是要用來替換掉這兩個輸出參數的,所以這里要將parameters這個數組里的這兩個參數設為輸出參數。 parameters[2].Direction = ParameterDirection.Output; parameters[3].Direction = ParameterDirection.Output; cmd.Parameters.AddRange(parameters); //將參數傳遞給我們的cmd命令對象 DataTable dt = new DataTable(); using (SqlDataAdapter adapter = new SqlDataAdapter(cmd)) { adapter.Fill(dt);//到數據庫去履行存儲進程,并將結果填充到dt表中 } //等存儲進程履行終了后,存儲進程會把這兩個輸出參數傳遞出來。那末我們在這里來獲得這兩個返回參數。 rowCount = Convert.ToInt32(parameters[2].Value); pageCount = Convert.ToInt32(parameters[3].Value); return dt; } } } } }




生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: jlzzjlzzjlzz日本亚洲| 国产好大好爽久久久久久久 | 亚洲精品国产经典一区二区 | 91亚洲国产成人久久精品网址 | 亚洲欧美国产精品久久久 | 爱爱网网站免费观看 | 一区二区三区视频免费 | 欧美成人免费全部观看天天性色 | 日本高清不卡免费 | 激情久久久久久久久久 | 免费jlzzjlzz在线播放视频 | 级毛片 | 日本天堂网址 | 91一区二区三区四区五区 | 国产欧美日韩综合一区二区三区 | 精品一区二区影院在线 | 久久免费视频一区 | 91精品一区国产高清在线 | 欧美性暴力变态xxxx | 日韩欧美亚洲国产 | 色吊丝永久在线观看最新 | 日韩 国产 欧美视频一区二区三区 | 国产成人一区 | 亚洲成人一区二区 | 嫩草影院精品视频在线观看 | 天天天天鲁天天拍一拍 | 久爱免费观看在线网站 | 免费观看片 | 日韩精品一区二区三区中文字幕 | 午夜美女写真福利写视频 | 日韩 亚洲 欧美 中文 高清 | 老司机在线观看 | 成人国产亚洲欧美成人综合网 | 亚洲欧美日韩国产综合高清 | 亚洲韩国日本欧美一区二区三区 | 亚洲伊人久久大香线蕉综合图片 | 国产福利一区在线 | 国产一区二区免费福利片 | 亚洲国产欧美精品一区二区三区 | 国产aaa女人十八毛片 | 亚洲日本在线观看视频 |