首页 > 解决方案 > 如何让 SQL Server 表存储一个列表?

问题描述

作为 java 开发人员,这很容易实现。但我无法在 C# 中实现它。我想从 SQL Server 数据库中获取数据并将它们存储在对象类型的列表中以满足表的需要。

物体:

class Category
{
    public int Id { get; set; }
    public string Name { get; set; }
}

和数据库中的表:

在此处输入图像描述

和代码:

public List<Category> GetCategoryList() 
{
        connect.Open();

        SqlCommand cmd = new SqlCommand("Select * From Category", connect);

        int i = cmd.ExecuteNonQuery();

        connect.Close();
}

我相信有一些东西叫DataReader我必须使用它,但我找不到解释或示例说明如何在像我这样的情况下使用它

标签: c#.netdatareader

解决方案


public List<Category> GetCategoryList() 
{
    List<Category> columnData = new List<Category>();
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        SqlCommand cmd = new SqlCommand("Select * From Category", connect);
        using (SqlDataReader reader = cmd.ExecuteReader())
        {
            while (reader.Read())
            {
                columnData.Add(new Category {
                    Id= reader["Id"] is DBNull ? null : int.Parse(reader["Id"]),
                    Name = reader["Name"] is DBNull ? null : reader["Name"].ToString() 
                });
            }         
        }
    }
    return columnData;
}

推荐阅读