前两天需要实现一个上移下移功能,就上网上搜了一下,没想到这个简单的小功能也没有搜到特别理想的结果,只有自己动手丰衣足食了,虽然简单,但是希望对大家有所帮助。
功能:实现任意有排序字段表单的上移和下移,并可以按分类来操作排序。
首先是存储过程:写的稍微有些繁琐,可能是半夜太困了吧
1
ALTER PROCEDURE [dbo].[Proc_Common_UpDown]
2
3
4 @Sign int = 0, -- 0: 上移 1:下移
5 @TableName nvarchar(50), -- 表名
6 @ItemName nvarchar(50), -- 主键字段名
7 @ItemID int, -- 主键ID
8 @SortName nvarchar(50), -- 排序ID
9 @TypeName nvarchar(50)='', -- 分类字段名
10 @TypeValue nvarchar(50)= '' -- 分类值
11
12 AS
13
14 BEGIN
15 SET NOCOUNT ON
16
17 DECLARE
18 @SQL nvarchar(4000 ),
19 @ThisSort int, -- 当前ID
20 @PREVID int, -- 前一个ID
21 @NextID int, -- 后一个ID
2
3
4 @Sign int = 0, -- 0: 上移 1:下移
5 @TableName nvarchar(50), -- 表名
6 @ItemName nvarchar(50), -- 主键字段名
7 @ItemID int, -- 主键ID
8 @SortName nvarchar(50), -- 排序ID
9 @TypeName nvarchar(50)='', -- 分类字段名
10 @TypeValue nvarchar(50)= '' -- 分类值
11
12 AS
13
14 BEGIN
15 SET NOCOUNT ON
16
17 DECLARE
18 @SQL nvarchar(4000 ),
19 @ThisSort int, -- 当前ID
20 @PREVID int, -- 前一个ID
21 @NextID int, -- 后一个ID