注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 IB客座主编(四)美国西蒙公..
 帮助

GRIDVIEW中实现上移下移的存储过程


2008-06-03 16:11:21
建一个表  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")
        {
            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();
            }
        }
    }




    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: