GRIDVIEW中实现上移下移的存储过程
建一个表 t_hoteladvertise
有如下字段:
ID 自动增长(主要) SortID INT (主要) Title NVARCHAR(50) CREATE proc sp_ehotel_DownAdvertise
@ID INT
as DECLARE @SortID int DECLARE @TempSortID INT DECLARE @TempID INT BEGIN TRAN
SELECT @SortID=SortID from t_hoteladvertise where [ID]=@ID
SELECT @TempSortID=max(SortID) from t_hoteladvertise where SortID>@SortID
SELECT @TempID=[ID] from t_hoteladvertise WHERE SortID=@TempSortID if @@error>0 or @@rowcount<>1
goto NeedRollBack UPDATE t_hoteladvertise SET SortID=@SortID WHERE [ID]=@TempID
if @@error>0 or @@rowcount<>1
goto NeedRollBack UPDATE t_hoteladvertise SET SortID=@TempSortID where [ID]=@ID
NeedRollBack:
if @@error>0 or @@rowcount<>1 rollback tran else commit tran GO CREATE proc sp_ehotel_UpAdvertise @ID INT as DECLARE @SortID int DECLARE @TempSortID INT DECLARE @TempID INT BEGIN TRAN
SELECT @SortID=SortID from t_hoteladvertise where [ID]=@ID
SELECT @TempSortID=max(SortID) from t_hoteladvertise where SortID<@SortID
SELECT @TempID=[ID] from t_hoteladvertise WHERE SortID=@TempSortID if @@error>0 or @@rowcount<>1
goto NeedRollBack UPDATE t_hoteladvertise SET SortID=@SortID WHERE [ID]=@TempID
if @@error>0 or @@rowcount<>1
goto NeedRollBack UPDATE t_hoteladvertise SET SortID=@TempSortID where [ID]=@ID
NeedRollBack:
if @@error>0 or @@rowcount<>1 rollback tran else commit tran GO 代码段: protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { SqlConnection conn = new SqlConnection(); if (e.CommandName == "down") 本文出自 51CTO.COM技术博客{ int IndexID = Convert.ToInt32(e.CommandArgument); try { XMLData.OpenDatabase(conn); XMLData.ExecuteNonQuery(conn, "SP_EHOTEL_UPADVERTISE", IndexID); Label2.Visible = true; Label2.Text = "下移成功!"; } catch (Exception) { Response.Write("<script language='javascript'>alert('下移出错,点取消返回');</" + "script>"); } finally { XMLData.CloseDatabase(conn); BindAdvertise(); } } if (e.CommandName == "up") { int IndexID = Convert.ToInt32(e.CommandArgument); try { XMLData.OpenDatabase(conn); XMLData.ExecuteNonQuery(conn, "SP_EHOTEL_DOWNADVERTISE", IndexID); Label2.Visible = true; Label2.Text = "上移成功!"; } catch (Exception) { Response.Write("<script language='javascript'>alert('上移出错,点取消返回');</" + "script>"); } finally { XMLData.CloseDatabase(conn); BindAdvertise(); } } } |



adai6666
博客统计信息
热门文章
最新评论
友情链接