亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

sql server高效分頁控件及c#調用實例

系統 2801 0

第一、首先在sqlserver中創建一個存儲過程

      
        USE [BZY]

GO


      
      
        /*
      
      
        ***** 對象:  StoredProcedure [dbo].[up_ProcCustomPage2005_New]    腳本日期: 12/24/2013 11:17:03 *****
      
      
        */
      
      
        

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO




      
      -- =============================================

-- Author:        <Author,,Name>

-- Create date: <Create Date,,>

-- Description:    <Description,,>

-- =============================================
      
        

CREATE PROCEDURE [dbo].[up_ProcCustomPage2005_New]

@SelectSql varchar(
      
      
        4000
      
      
        )

,@OrderBy varchar(
      
      
        4000
      
      
        )

,@PageSize 
      
      
        int
      
      
        

,@PageIndex 
      
      
        int
      
      
        

,@PageCount 
      
      
        int
      
      
         output

,@RecordCount 
      
      
        int
      
      
         output

AS




      
      --SET @SelectSql = 
      
        '
      
      
        select * from table_3
      
      
        '
      
      

--SET @OrderBy = 
      
        '
      
      
        order by id desc
      
      
        '
      
      
        



Declare @sql nvarchar(
      
      
        4000
      
      
        )

SET @sql 
      
      = 
      
        '
      
      
        select @RecourdCount = count(*) from (
      
      
        '
      
       + @SelectSql + 
      
        '
      
      
        ) as tt@#$
      
      
        '
      
      
        

EXEC sp_executesql @sql,N
      
      
        '
      
      
        @RecourdCount int OUTPUT
      
      
        '
      
      
        ,@RecordCount OUTPUT



SET @PageCount 
      
      = CEILING( (@RecordCount + 
      
        0.0
      
      ) /
      
         @PageSize)



IF @PageIndex 
      
      >
      
         @PageCount

    SET @PageIndex 
      
      =
      
         @PageCount

    

IF @PageIndex 
      
      < 
      
        1
      
      
        

    SET @PageIndex 
      
      = 
      
        1
      
      
        



DECLARE @StartIndex 
      
      
        int
      
      
        

DECLARE @EndIndex 
      
      
        int
      
      
        



SET @StartIndex 
      
      = (@PageIndex-
      
        1
      
      ) * @PageSize + 
      
        1
      
      
        

SET @EndIndex 
      
      = @PageIndex *
      
         @PageSize

    

SET @sql 
      
      = 
      
        '
      
      
        select * from (select row_number()over(
      
      
        '
      
       + @OrderBy + 
      
        '
      
      
        ) as rownumber,*  from (
      
      
        '
      
       + @SelectSql + 
      
        '
      
      
        ) AS tt@#$) as tt@#$result where rownumber between 
      
      
        '
      
       + cast(@StartIndex AS varchar) + 
      
        '
      
      
         and 
      
      
        '
      
       +
      
         cast(@EndIndex AS varchar) 

PRINT @sql    

EXEC sp_executesql @sql
      
    

二、c#代碼:

      
        private
      
      
        static
      
       DataTable GetExecuteCustomPage_New(
      
        string
      
       selectSql, 
      
        string
      
       orderBy, 
      
        int
      
       pageSize, 
      
        int
      
       pageIndex, 
      
        out
      
      
        int
      
       pageCount, 
      
        out
      
      
        int
      
      
         recordCount) 

        {

            MatchCollection mc 
      
      = Regex.Matches(orderBy, 
      
        @"
      
      
        ([^ ]*)\.[^ ]*
      
      
        "
      
      
        );



            
      
      
        if
      
       (mc.Count > 
      
        0
      
      
        )

            {

                
      
      
        foreach
      
       (Match item 
      
        in
      
      
         mc)

                {                    

                    orderBy 
      
      = orderBy.Replace(item.Groups[
      
        1
      
      ].Value + 
      
        "
      
      
        .
      
      
        "
      
      , 
      
        ""
      
      
        );

                }

            }           



            SqlParameter SelectSql 
      
      = 
      
        new
      
       SqlParameter() { ParameterName = 
      
        "
      
      
        @SelectSql
      
      
        "
      
      , Size = 
      
        4000
      
      , Value =
      
         selectSql };

            SqlParameter OrderBy 
      
      = 
      
        new
      
       SqlParameter() { ParameterName = 
      
        "
      
      
        @OrderBy
      
      
        "
      
      , Size = 
      
        4000
      
      , Value =
      
         orderBy };

            SqlParameter PageSize 
      
      = 
      
        new
      
       SqlParameter() { ParameterName = 
      
        "
      
      
        @PageSize
      
      
        "
      
      , Size = 
      
        4
      
      , Value = pageSize , DbType =
      
         DbType.Int32 };

            SqlParameter PageIndex 
      
      = 
      
        new
      
       SqlParameter() { ParameterName = 
      
        "
      
      
        @PageIndex
      
      
        "
      
      , Size = 
      
        4
      
      , Value = pageIndex , DbType =
      
         DbType.Int32 };

            SqlParameter PageCount 
      
      = 
      
        new
      
       SqlParameter() { ParameterName = 
      
        "
      
      
        @PageCount
      
      
        "
      
      , Size = 
      
        4
      
      , Direction = ParameterDirection.Output , DbType =
      
         DbType.Int32 };

            SqlParameter RecordCount 
      
      = 
      
        new
      
       SqlParameter() { ParameterName = 
      
        "
      
      
        @RecordCount
      
      
        "
      
      , Size = 
      
        4
      
      , Direction = ParameterDirection.Output , DbType =
      
         DbType.Int32 };



            DataSet ds 
      
      = 
      
        new
      
      
         DataSet();

        

            
      
      
        using
      
       (SqlConnection cnn = 
      
        new
      
       SqlConnection(ConfigurationManager.ConnectionStrings[
      
        "
      
      
        DBConfig
      
      
        "
      
      
        ].ToString())) 

            {

                SqlCommand cmd 
      
      =
      
         cnn.CreateCommand();

                cmd.CommandText 
      
      = 
      
        "
      
      
        up_ProcCustomPage2005_New
      
      
        "
      
      
        ;

                cmd.CommandType 
      
      =
      
         CommandType.StoredProcedure;

                cmd.Connection 
      
      =
      
         cnn;

                cmd.Parameters.Add(SelectSql);

                cmd.Parameters.Add(OrderBy);

                cmd.Parameters.Add(PageSize);

                cmd.Parameters.Add(PageIndex);

                cmd.Parameters.Add(PageCount);

                cmd.Parameters.Add(RecordCount);

                SqlDataAdapter sda 
      
      = 
      
        new
      
      
         SqlDataAdapter(cmd);

                cnn.Open();

                sda.Fill(ds);



                pageCount 
      
      =
      
         Convert.ToInt32(PageCount.Value);

                recordCount 
      
      =
      
         Convert.ToInt32(RecordCount.Value);

            }



            
      
      
        return
      
       ds.Tables[
      
        0
      
      
        ];



        }
      
    

三、引用例子

      
        public
      
       DataSet GetPurchaserSalesVolumeAnalysis(
      
        string
      
      
        where
      
      
        ,

           
      
      
        string
      
       sFilter_Condition, 
      
        int
      
       iPage_Size, 
      
        int
      
       iPage_Index, 
      
        string
      
      
         sTaxisField,

           
      
      
        int
      
       iTaxis_Sign, 
      
        out
      
      
        int
      
       iPageCount, 
      
        out
      
      
        int
      
      
         iiRecord_Count)

        {



            
      
      
        string
      
       sql = 
      
        @"
      
      
        select NewT.ptPaymentDate,NewT.fsStatus from
      
      
        Student 
      
      
        NewT ";
      
      
        string
      
       orderwhere = 
      
        "
      
      
         ORDER BY NewT.ptPaymentDate 
      
      
        "
      
      
        ;

            
      
      
        return
      
      
         BaitourDAO.Common.DBHelper.GetExecuteCustomPage_New(

                                  sql

                                  , orderwhere

                                  , iPage_Size

                                  , iPage_Index

                                  , 
      
      
        out
      
      
         iPageCount

                                  , 
      
      
        out
      
      
         iiRecord_Count);

        }
      
    

?

sql server高效分頁控件及c#調用實例


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久综合九色综合97婷婷群聊 | 午夜一级福利 | ww亚洲ww在线观看国产 | 青青青爽在线视频观看大全 | 99国产精品免费视频观看 | 99视频99 | 国内精品欧美久久精品 | 日日噜噜夜夜狠狠久久aⅴ 日日噜噜夜夜狠狠久久丁香 | 亚洲激情综合 | 四虎影永久地址www 四虎影永久在线高清免费 四虎影永久在线观看精品 四虎影永久在线观看网址 四虎影院.com | 国产精品爱啪在线线免费观看 | a毛片在线还看免费网站 | 欧美日韩国产亚洲一区二区三区 | 亚洲精品一区二 | 夜夜爽www | 国产亚洲欧美久久久久 | 久久精品亚洲乱码伦伦中文 | 亚州中文| 国产福利视频一区美女 | 国产精品12 | 久久久久综合 | 亚洲精品日韩中文字幕久久久 | h录音 国产 在线 | 精品一区二区久久久久久久网站 | 久久九九国产 | 午夜色站| 多多多色麻豆 | 免费看国产精品久久久久 | 曰曰鲁夜夜免费播放视频 | 久久九色综合九色99伊人 | 亚洲精品一区二区三区美女 | 久青草视频 | 久久久久久久99久久久毒国产 | 12至16末成年毛片视频 | 欧美特级黄色大片 | 麻豆一区二区三区四区 | 国产大尺度视频 | 精品91精品91精品国产片 | 成年女人视频网站免费m | 污宅男666在线永久免费观看 | 欧美天天影院 |