Asp.net實(shí)現(xiàn)向上向下排序的例子_.Net教程
推薦:asp.net中包含文件的代碼及使用方法ASP.NET文件包含的方法基本與ASP文件包含差不多! 在ASP.NET包含文件的方法有: 1.% Response.WriteFile(skin/default/footer.txt)% 2.% server.execute(skin/default/footer.txt)% 3.StreamReader 對(duì)象將包含文件寫(xiě)到 HTTP 內(nèi)容流中 //me:網(wǎng)上說(shuō)asp.net中用include也可
工作中一些常用到的代碼記錄下來(lái),方便自己查找也方便其他需要人士參考。
廢話不多說(shuō),這是一個(gè)向上向下排序的功能,首先使用存儲(chǔ)過(guò)程 整好 如下:
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), -- 列表默認(rèn)的排序方式,asc或desc
@orderDirection nvarchar(20), --排序方向,up或down
@where nvarchar(2000) --查詢條件
)
AS
BEGIN
declare @ordertmp1 int; --臨時(shí)排序值id1
declare @ordertmp2 int; --臨時(shí)排序值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; }
}
///
/// 標(biāo)題 ///
public string Title
{
get { return this._title; }
set { this._title = value; }
}
///
/// 描述 ///
public string Descript
{
get { return this._descript; }
set { this._descript = value; }
}
}
IDAL代碼:
/// 排序
///
/// 表名
/// 排序字段
/// 表主鍵字段
/// 表主鍵字段值
/// 列表默認(rèn)的排序方式,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中使用三層架構(gòu)學(xué)ASP.NET都知道它的最經(jīng)典的架構(gòu)是三層架構(gòu),也是目前應(yīng)用得最廣泛的一種架構(gòu).以前說(shuō)起三層架構(gòu)大家都知道MVC架構(gòu),這是html開(kāi)發(fā)中用得比較多的,現(xiàn)在AJAX主要就是用這種架構(gòu)。大家ASP.NET的三層是指數(shù)據(jù)訪問(wèn)層,業(yè)務(wù)邏輯層和表示層,而且都知道數(shù)據(jù)訪問(wèn)層是用來(lái)訪問(wèn)數(shù)據(jù)
- asp.net中包含文件的代碼及使用方法
- 如何在ASP.NET中使用三層架構(gòu)
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見(jiàn)代碼存在的偽造IP問(wèn)題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- 相關(guān)鏈接:
- 教程說(shuō)明:
.Net教程-Asp.net實(shí)現(xiàn)向上向下排序的例子
。