日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

生成SQL語句分頁的通用C#函數(shù)

 悟靜 2010-08-06
生成SQL語句分頁的通用C#函數(shù)
2007年04月12日 星期四 下午 03:16

               /// <summary>
               /// 生成取得記錄總數(shù)的語句
               /// </summary>
               /// <param name="sql">原查詢語句</param>
               /// <returns>取得記錄總數(shù)的語句</returns>
               private string     MakeRecordCountsSql(string sql)
               {
                   string sqlGetRecordCounts = "select Count(*) from (" + sql + ") as TempTable";
                   return sqlGetRecordCounts;
               }

               /// <summary>
               /// 生成分頁查詢語句
               /// </summary>
               /// <param name="sql">原查詢語句</param>
               /// <param name="orderField">用于分頁排序的字段</param>
               /// <param name="pageNumber">頁碼</param>
               /// <param name="pageSize">頁面記錄數(shù)量</param>
               /// <param name="recordCounts">記錄總數(shù)</param>
               /// <param name="pageCounts">頁面總數(shù)</param>
               /// <returns>分頁查詢語句</returns>
               private string MakePagingSql(string sql, string orderField, int pageNumber, int pageSize, int recordCounts, out int pageCounts)
               {
                   // 計算頁面數(shù)量
                   if (Convert.ToInt32(pageNumber) < 1) pageNumber = 1;
                   if (Convert.ToInt32(pageSize) < 1) pageSize = 1;
                   pageCounts = Convert.ToInt32(Math.Ceiling(Convert.ToDouble(recordCounts) / Convert.ToDouble(pageSize)));

                   string sqlQuery = "";
                   if (pageNumber == 1)
                   {
                       sqlQuery = "select top " + pageSize + " * from (" + sql + ") as TempTable order by " + orderField     + " desc";
                   }
                   else
                   {
                       sqlQuery = "select top " + pageSize + " * from (" + sql + ") as TempTable where " + orderField     + " < (select min(" + orderField     + ") as MinID from ( select top " + (pageNumber - 1) * pageSize + "     * from (" + sql + ") as MaxTempTable order by " + orderField     + " desc) as MinTempTable) order by " + orderField     + " desc";
                   }
                   return sqlQuery;
               }

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多