zoukankan      html  css  js  c++  java
  • 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")
            {
                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();
                }
            }
        }

  • 相关阅读:
    如何为你的Airtest报告自定义名称
    Go打包构建 生成32位64位应用程序 加入前端项目
    DNS解析与DNS缓存清理
    sharepoint2013安装记录
    C# winform自托管WebApi及身份信息加密、Basic验证、Http Message Handler、跨域配置
    IM扫码登录技术专题(四):你真的了解二维码吗?刨根问底、一文掌握!
    IM开发干货分享:万字长文,详解IM“消息“列表卡顿优化实践
    阿里IM技术分享(五):闲鱼亿级IM消息系统的及时性优化实践
    使用oracle序列+oracle定时任务获取每月从1开始的流水码
    为什么我的数据库查询越来越慢
  • 原文地址:https://www.cnblogs.com/zhangchenliang/p/724352.html
Copyright © 2011-2022 走看看