日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

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

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

<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; } } } } }




生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲电影中文字幕 | 在线免费国产视频 | 日韩精品一区二区三区四区视频 | 一机毛片| 成年人免费看 | 日韩欧美中文 | 久久九九国产 | 精品国产91乱码一区二区三区 | 在线不卡二区 | 欧美日韩国产综合在线 | 国产一区二区精品在线 | 日韩欧美国产成人 | 国产精品 欧美激情 | 91在线播放视频 | 91福利小视频 | 91成人在线播放 | 日日夜夜精品网站 | 日韩国产一区二区三区 | 国产精品v亚洲精品v日韩精品 | 我不卡电影| 播五月婷婷 | 欧美精品区 | 欧美性hd | 欧美特级大片 | 羞羞视频在线观看免费视频 | 一区二区三区av | 欧美日韩国产色 | 国产精品一二三四区 | 99精品在线看 | 视频一区在线 | 青草青草久 | 99在线视频精品 | 亚洲精品一区二区三区在线 | 欧美在线视频二区 | 牲高潮99爽久久久久777 | 超碰在线cao | 国内精品国产成人国产三级粉色 | 日韩一区二区三区在线看 | 一区二区国产在线观看 | 亚洲国产黄色 | 亚洲欧美一区二区三区在线 |