91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何在C#中實現SQL Server的分頁查詢

c#
小樊
144
2024-09-06 04:56:27
欄目: 云計算

在C#中實現SQL Server的分頁查詢,可以使用以下幾種方法:

  1. 使用ROW_NUMBER()函數:
using System;
using System.Data.SqlClient;

namespace SqlServerPagination
{
    class Program
    {
        static void Main(string[] args)
        {
            string connectionString = "your_connection_string";
            int pageNumber = 1;
            int pageSize = 10;

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();

                string sql = $@"
                    SELECT * FROM (
                        SELECT *, ROW_NUMBER() OVER (ORDER BY Id) AS RowNumber
                        FROM YourTable
                    ) AS PagedTable
                    WHERE RowNumber BETWEEN ((@PageNumber - 1) * @PageSize + 1) AND (@PageNumber * @PageSize)";

                using (SqlCommand command = new SqlCommand(sql, connection))
                {
                    command.Parameters.AddWithValue("@PageNumber", pageNumber);
                    command.Parameters.AddWithValue("@PageSize", pageSize);

                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            Console.WriteLine($"Id: {reader["Id"]}, Name: {reader["Name"]}");
                        }
                    }
                }
            }
        }
    }
}
  1. 使用OFFSET和FETCH子句(僅適用于SQL Server 2012及更高版本):
using System;
using System.Data.SqlClient;

namespace SqlServerPagination
{
    class Program
    {
        static void Main(string[] args)
        {
            string connectionString = "your_connection_string";
            int pageNumber = 1;
            int pageSize = 10;

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();

                string sql = $@"
                    SELECT *
                    FROM YourTable
                    ORDER BY Id
                    OFFSET (@PageNumber - 1) * @PageSize ROWS
                    FETCH NEXT @PageSize ROWS ONLY";

                using (SqlCommand command = new SqlCommand(sql, connection))
                {
                    command.Parameters.AddWithValue("@PageNumber", pageNumber);
                    command.Parameters.AddWithValue("@PageSize", pageSize);

                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            Console.WriteLine($"Id: {reader["Id"]}, Name: {reader["Name"]}");
                        }
                    }
                }
            }
        }
    }
}

請注意,將your_connection_string替換為你的SQL Server連接字符串,并將YourTable替換為你要查詢的表名。這兩個示例都使用了分頁參數pageNumberpageSize,你可以根據需要調整這些值。

0
浦县| 宁安市| 青田县| 会泽县| 建昌县| 盈江县| 定西市| 宁安市| 大英县| 三门县| 曲靖市| 临湘市| 清徐县| 万山特区| 贵溪市| 昌平区| 宜丰县| 镇坪县| 河东区| 东港市| 南康市| 宝丰县| 荣成市| 郧西县| 东莞市| 南川市| 年辖:市辖区| 乌审旗| 安国市| 台东市| 婺源县| 兴国县| 高台县| 金乡县| 康定县| 蒙城县| 连云港市| 灵寿县| 西华县| 和林格尔县| 霍城县|