最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net結(jié)合aspnetpager使用SQL2005的存儲(chǔ)過(guò)程分頁(yè)

 更新時(shí)間:2009年07月18日 11:21:11   作者:  
項(xiàng)目中用到了,同事阿春寫(xiě)了例子,并在實(shí)際項(xiàng)目中使用了,記錄下。感謝春哥的無(wú)私奉獻(xiàn)。
SQL2005的存儲(chǔ)過(guò)程:
復(fù)制代碼 代碼如下:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE [dbo].[P_GetPagedReCord]
(@startIndex INT, -- 開(kāi)始索引號(hào)
@endindex INT, -- 結(jié)束索引號(hào)
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 顯示字段名
@OrderfldName varchar(255), -- 排序字段名
@IsReCount bit = 0, -- 返回記錄總數(shù), 非 0 值則返回
@OrderType bit = 0, -- 設(shè)置排序類型, 非 0 值則降序
@strWhere varchar(1000) = '' -- 查詢條件 (注意: 不要加 where)
)
AS
declare @strSQL varchar(6000) -- 主語(yǔ)句
declare @strTmp varchar(100) -- 臨時(shí)變量
declare @strOrder varchar(400) -- 排序類型
if @OrderType!=0
Begin
set @strOrder='Desc'
End
else
Begin
set @strOrder='Asc'
End
set @strSQL ='WITH orderList AS ( '+
'SELECT ROW_NUMBER() OVER (ORDER BY '+@OrderfldName+' '+@strOrder+')AS Row, '+@fldName+' '+
'from '+@tblName
if @strWhere!=''
set @strSQL = @strSQL+' where ' + @strWhere
set @strSQL=@strSQL+')'+
'SELECT '+@fldName+' '+
'FROM orderlist '+
'WHERE Row between '+str(@startIndex)+' and '+str(@endIndex)+''


if @IsReCount != 0
Begin
set @strSQL = ' select count(1) as Total from [' + @tblName + ']'
if @strWhere!=''
set @strSQL = @strSQL+' where ' + @strWhere
End
--print(@strSQL)
exec (@strSQL)

使用中的關(guān)鍵代碼:
復(fù)制代碼 代碼如下:

//翻頁(yè)
protected void anpager_PageChanged(object sender, EventArgs e)
{
bind();
}
string strWhere = " 1 = 1 ";
ETHaiNan.BLL.ET_Video bll = new ETHaiNan.BLL.ET_Video();
this.anpager.RecordCount = int.Parse(bll.GetRecordCount(strWhere).Tables[0].Rows[0][0].ToString());
this.anpager.PageSize = 10;
this.anpager.AlwaysShow = true;
DataSet ds = bll.GetList(anpager.StartRecordIndex, anpager.EndRecordIndex,strWhere, 0);
this.rpt.DataSource = ds;
ds.Dispose();

數(shù)據(jù)訪問(wèn)層:
復(fù)制代碼 代碼如下:

/// <summary>
/// 分頁(yè)獲取數(shù)據(jù)列表
/// </summary>
public DataSet GetList(int startIndex, int endindex, string strWhere, int IsReCount)
{
SqlParameter[] parameters = {
new SqlParameter("@startIndex", SqlDbType.Int),
new SqlParameter("@endindex", SqlDbType.Int),
new SqlParameter("@tblName", SqlDbType.VarChar, 255),
new SqlParameter("@fldName", SqlDbType.VarChar, 255),
new SqlParameter("@OrderfldName", SqlDbType.VarChar, 255),
new SqlParameter("@IsReCount", SqlDbType.Bit),
new SqlParameter("@OrderType", SqlDbType.Bit),
new SqlParameter("@strWhere", SqlDbType.VarChar,1000)
};

parameters[0].Value = startIndex;
parameters[1].Value = endindex;
parameters[2].Value = "ET_Video";
parameters[3].Value = "VideoID,Video_Name,Video_TypeID,Video_OrderCode,Video_Type,Video_AddDate";
parameters[4].Value = "VideoID";
parameters[5].Value = IsReCount;
parameters[6].Value = 1;
parameters[7].Value = strWhere;
return DbHelperSQL.RunProcedure("P_GetPagedReCord", parameters, "ds");
}

相關(guān)文章

最新評(píng)論

新巴尔虎左旗| 张家界市| 太仓市| 武鸣县| 平陆县| 汤阴县| 冕宁县| 中卫市| 集贤县| 通城县| 灵石县| 嘉善县| 南雄市| 武山县| 郎溪县| 驻马店市| 林周县| 包头市| 江源县| 大荔县| 满城县| 凌云县| 镇雄县| 高雄县| 卫辉市| 凤山县| 凤冈县| 玉环县| 孙吴县| 长治市| 禄劝| 富裕县| 都江堰市| 广安市| 安仁县| 海口市| 武城县| 武宁县| 汉阴县| 临潭县| 太谷县|