发布于 2016-05-28 23:25:04 | 129 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

ASP.NET

ASP.NET 是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序 。


项目中用到了,同事阿春写了例子,并在实际项目中使用了,记录下。感谢春哥的无私奉献。
SQL2005的存储过程:

set ANSI_NULLS ON 
set QUOTED_IDENTIFIER ON 
go 

ALTER PROCEDURE [dbo].[P_GetPagedReCord] 
(@startIndex INT, -- 开始索引号 
@endindex INT, -- 结束索引号 
@tblName varchar(255), -- 表名 
@fldName varchar(255), -- 显示字段名 
@OrderfldName varchar(255), -- 排序字段名 
@IsReCount bit = 0, -- 返回记录总数, 非 0 值则返回 
@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序 
@strWhere varchar(1000) = '' -- 查询条件 (注意: 不要加 where) 
) 
AS 
declare @strSQL varchar(6000) -- 主语句 
declare @strTmp varchar(100) -- 临时变量 
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) 

使用中的关键代码:

//翻页 
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(); 

数据访问层:

/// <summary> 
/// 分页获取数据列表 
/// </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"); 
} 


最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务