Asp.net实现向上向下排序的例子_.Net教程
推荐:asp.net中包含文件的代码及使用方法ASP.NET文件包含的方法基本与ASP文件包含差不多! 在ASP.NET包含文件的方法有: 1.% Response.WriteFile(skin/default/footer.txt)% 2.% server.execute(skin/default/footer.txt)% 3.StreamReader 对象将包含文件写到 HTTP 内容流中 //me:网上说asp.net中用include也可
工作中一些常用到的代码记录下来,方便自己查找也方便其他需要人士参考。
废话不多说,这是一个向上向下排序的功能,首先使用存储过程 整好 如下:
SQL:
-- =============================================
-- Author:
-- Create date:
-- Description:
-- =============================================
ALTER PROCEDURE [dbo].[sp_BannerOrder]
-- Add the parameters for the stored procedure here
(
@tablename nvarchar(50), --表名
@colname nvarchar(50), --排序字段
@keyid nvarchar(50), --表主键字段
@keyidvalue int, --表主键字段值1
@order nvarchar(20), -- 列表默认的排序方式,asc或desc
@orderDirection nvarchar(20), --排序方向,up或down
@where nvarchar(2000) --查询条件
)
AS
BEGIN
declare @ordertmp1 int; --临时排序值id1
declare @ordertmp2 int; --临时排序值id2
declare @tmpkeyidvaule nvarchar(50);
declare @sql nvarchar(2000);
DECLARE @ParmDefinition nvarchar(500);
DECLARE @ParmDefinition2 nvarchar(500);
if @order='asc'
begin
SET @sql = N'SELECT @ordertmp1OUT='+@colname+' from '+@tablename+' where '+@keyid+'='+cast(@keyidvalue as nvarchar(50));
SET @ParmDefinition = N'@ordertmp1OUT nvarchar(20) OUTPUT';
EXECUTE sp_executesql @sql, @ParmDefinition, @ordertmp1OUT=@ordertmp1 OUTPUT;
if @orderDirection='up'
begin
SET @sql = N'SELECT top 1 @ordertmp2OUT='+@colname+',@tmpkeyidvauleOUT='+@keyid+' from '+@tablename+' where '+@colname+'<'+cast(@ordertmp1 as nvarchar(50))+' and '+@where+' order by '+@colname+' desc';
end
else
begin
SET @sql = N'SELECT top 1 @ordertmp2OUT='+@colname+',@tmpkeyidvauleOUT='+@keyid+' from '+@tablename+' where '+@colname+'>'+cast(@ordertmp1 as nvarchar(50))+' and '+@where+' order by '+@colname+' asc';
end
SET @ParmDefinition = N'@ordertmp2OUT nvarchar(20) OUTPUT, @tmpkeyidvauleOUT nvarchar(20) OUTPUT';
EXECUTE sp_executesql @sql, @ParmDefinition, @ordertmp2OUT=@ordertmp2 OUTPUT, @tmpkeyidvauleOUT=@tmpkeyidvaule OUTPUT;
end
else
begin
SET @sql = N'SELECT @ordertmp1OUT='+@colname+' from '+@tablename+' where '+@keyid+'='+cast(@keyidvalue as nvarchar(50));
SET @ParmDefinition = N'@ordertmp1OUT nvarchar(20) OUTPUT';
EXECUTE sp_executesql @sql, @ParmDefinition, @ordertmp1OUT=@ordertmp1 OUTPUT;
if @orderDirection='up'
begin
SET @sql = N'SELECT top 1 @ordertmp2OUT='+@colname+',@tmpkeyidvauleOUT='+@keyid+' from '+@tablename+' where '+@colname+'>'+cast(@ordertmp1 as nvarchar(50))+' and '+@where+' order by '+@colname+' asc';
end
else
begin
SET @sql = N'SELECT top 1 @ordertmp2OUT='+@colname+',@tmpkeyidvauleOUT='+@keyid+' from '+@tablename+' where '+@colname+'<'+cast(@ordertmp1 as nvarchar(50))+' and '+@where+' order by '+@colname+' desc';
end
SET @ParmDefinition = N'@ordertmp2OUT nvarchar(20) OUTPUT, @tmpkeyidvauleOUT nvarchar(20) OUTPUT';
EXECUTE sp_executesql @sql, @ParmDefinition, @ordertmp2OUT=@ordertmp2 OUTPUT, @tmpkeyidvauleOUT=@tmpkeyidvaule OUTPUT;
end
set @sql = 'update '+@tablename+' set '+@colname+'='+cast(@ordertmp2 as nvarchar(50))+' where '+@keyid+'='+cast(@keyidvalue as nvarchar(50));
set @sql = @sql + ' update '+@tablename+ ' set '+@colname+'='+cast(@ordertmp1 as nvarchar(50))+' where '+@keyid+'='+cast(@tmpkeyidvaule as nvarchar(50));
--select @ordertmp1,@ordertmp2,@tmpkeyidvaule,@sql
exec(@sql);
END
MODEL:
public class Banner
{
public Banner()
{ }
private int _id;
private string _smallPic;
private string _bigPic;
private int _orderid;
private string _url;
private string _title;
private string _descript;
//字增量ID
public int ID
{
get { return this._id; }
set { this._id = value; }
}
//BANNER小图
public string SmallPic
{
get { return this._smallPic; }
set { this._smallPic = value; }
}
///
/// BANNER大图 ///
public string BigPic
{
get { return this._bigPic; }
set { this._bigPic = value; }
}
///
/// 排序ID ///
public int OrderId
{
get { return this._orderid; }
set { this._orderid = value; }
}
///
/// URL地址 ///
public string Url
{
get { return this._url; }
set { this._url = value; }
}
///
/// 标题 ///
public string Title
{
get { return this._title; }
set { this._title = value; }
}
///
/// 描述 ///
public string Descript
{
get { return this._descript; }
set { this._descript = value; }
}
}
IDAL代码:
/// 排序
///
/// 表名
/// 排序字段
/// 表主键字段
/// 表主键字段值
/// 列表默认的排序方式,asc或desc
/// 排序方向,up或down
/// 条件
///
int Order(string table,string colname,string keyid,int keyidvalue,string order,string orderDirection,string whe);
SQLDAL代码:
public int Order(string table,string colname,string keyid,int keyidvalue,string order,string orderDirection,string whe)
{
SqlParameter[] paras = {
new SqlParameter("@tablename", table),
new SqlParameter("@colname",colname),
new SqlParameter("@keyid",keyid),
new SqlParameter("@keyidvalue",keyidvalue),
new SqlParameter("@order",order),
new SqlParameter("@orderDirection",orderDirection),
new SqlParameter("@where",whe)
};
return Convert.ToInt32( SqlHelper.ExecuteNonQuery(Configuration.ConnectionString, CommandType.StoredProcedure, "sp_BannerOrder", paras));
BLL代码:
public int Order(string table, string colname, string keyid, int keyidvalue, string order, string orderDirection, string whe)
{
return bner.Order(table, colname, keyid, keyidvalue, order, orderDirection, whe);
}
WEB:
aspx代码:
分享:如何在ASP.NET中使用三层架构学ASP.NET都知道它的最经典的架构是三层架构,也是目前应用得最广泛的一种架构.以前说起三层架构大家都知道MVC架构,这是html开发中用得比较多的,现在AJAX主要就是用这种架构。大家ASP.NET的三层是指数据访问层,业务逻辑层和表示层,而且都知道数据访问层是用来访问数据
- asp.net中包含文件的代码及使用方法
- 如何在ASP.NET中使用三层架构
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP发送Email实例(可带附件)
- js实现广告漂浮效果的小例子
- asp.net Repeater 数据绑定的具体实现
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
- Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
- VS2010 水晶报表的使用方法
- ASP.NET中操作SQL数据库(连接字符串的配置及获取)
- asp.net页面传值测试实例代码
- DataGridView - DataGridViewCheckBoxCell的使用介绍
- 相关链接:
- 教程说明:
.Net教程-Asp.net实现向上向下排序的例子
。