sql 数据分页

CREATE PROC GetPage     
 (     
   @sheetno  varchar(14),   
   @indexPage int ,   
   @pagesize int ,   
   @numberCount numeric(9,0) output ,   
   @itemno varchar(10)    
 )     
 AS     
 begin     
    DECLARE @culomns varchar(8000)    
     select   a.kp_flow_id, kp_item_no ,kp_sup_no , supname , kp_item_code ,kp_item_name , kp_item_addr,kp_price ,kp_gongyi as gongyiname ,kp_type,kp_url, kp_goods_belong ,     
     kp_sale_state, typename , kp_goods_belong1=case kp_goods_belong   when 0 then '正常品'     
   when 1 then '促销品'   
    when 2 then '新品'  end ,   
    kp_sale_state1 =case kp_sale_state    
    when 0 then '一般'   
    when 1 then '畅销'    
    when 2 then '滞销'  end    
   INTO #table1 from  xc_imagedetail a,xc_supInfo  b ,xc_toweltype c     
   where a.kp_sup_no=b.supid  and(a.kp_type=c.typeid)   
    AND  kp_sheet_no =@sheetno   
    AND kp_item_no LIKE '%'+@itemno+'%'   
    ORDER BY kp_flow_id DESC     
  --  SELECT * FROM #table1   
       
    set @numberCount=(SELECT ceiling(count(kp_item_no)/@pagesize)  FROM #table1 )    
       
   IF(@indexPage=1)   
  BEGIN   
            
  BEGIN   
    SET @culomns='select top '+CONVERT(varchar(4),@pageSize)+' * from #table1 order by kp_flow_id desc '   
   
  end   
   end    
   ELSE     
    BEGIN   
          SET  @culomns='select top '+CONVERT(varchar(4),@pageSize)+' *  from #table1 a  where kp_item_no  not in ( select  top '+CONVERT(varchar(10),(@indexPage-1)*@pageSize)+'  kp_item_no  from xc_imagedetail b where  b.kp_sheet_no='''+@sheetno+''' orde
r by kp_flow_id  desc ) order by kp_flow_id  desc  '   
        end      
    EXECUTE(@culomns)     
       
    DROP TABLE #table1   
  end     
      

c#:

 protected void Button1_Click(object sender, EventArgs e)
    {
        BindSingleItem(1);
        lblnow.Text = "1";
        //selectbind();
       // BindSingleItem(view);

      
    }
    protected void linkpre_Click(object sender, EventArgs e)
    {
        this.tcPanelContainer.ActiveTabIndex = 0;
        int index = Convert.ToInt32(ViewState["index"]) - 1;
        if (index == 0)
        {
            this.linkpre.Enabled = false;
        }
        else
        {
            BindSingleItem(index);
            ViewState["index"] = index;
            lblnow.Text  = index.ToString();
        }
    }
    protected void linknext_Click(object sender, EventArgs e)
    {
        this.tcPanelContainer.ActiveTabIndex = 0;
        this.linkpre.Enabled = true;
        int index = Convert.ToInt32(ViewState["index"]) + 1;
        BindSingleItem(index);
        ViewState["index"] = index;
        lblnow.Text =index.ToString ();
    } 

 


     void BindSingleItem(int index )
    {


            //lblsheetno.Text = Request["kp_sheet_no"];
            DbCommand cmd = GenericDataAccess.createcommand();
            cmd.CommandText = "GetPage";
            DbParameter parm = cmd.CreateParameter();
            parm.ParameterName = "@sheetno";
            parm.DbType = DbType.String ;
            parm.Value = lblsheetno.Text .Trim();
            cmd.Parameters.Add(parm);

            parm = cmd.CreateParameter();
            parm.ParameterName = "@pagesize";
            parm.DbType = DbType.Int16;
            parm.Value = 6;
            cmd.Parameters.Add(parm);

            parm = cmd.CreateParameter();
            parm.ParameterName = "@indexPage";
            parm.DbType = DbType.Int16;
            parm.Value = index;
            cmd.Parameters.Add(parm);

            parm = cmd.CreateParameter();
            parm.ParameterName = "@itemno";
            parm.DbType = DbType.String;
            parm.Value = TextBox1.Text.Trim();
            cmd.Parameters.Add(parm);

            parm = cmd.CreateParameter();
            parm.ParameterName = "@numberCount";
            parm.DbType = DbType.String ;
            parm.Direction = ParameterDirection.Output;
            parm.Size = 100;
            cmd.Parameters.Add(parm);
 
           
             DataTable dt=GenericDataAccess.selectcommand(cmd);
             lbltotal.Text = (string)cmd.Parameters["@numberCount"].Value; //  parm.Value.ToString ();

            this.listsingleitem.DataSource = dt ;
            this.listsingleitem.DataBind();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值