如何将数据集中的值添加到列表

本文关键字:添加 列表 集中 数据 数据集 | 更新日期: 2023-09-27 18:22:33

string str = "Select bd_id from [Active]";
ds = new DataSet(str);
da = new SqlDataAdapter(str, con);
da.Fill(ds);

我想添加我得到的数据集,该数据集是以下形式的 ID 列表:

bd_id
   1
   2
   3

作为项目进入通用列表

我该怎么做同样的事情?

如何将数据集中的值添加到列表

>Makue 使用 LINQ to DATATABLE 将轻松完成任务。

DataTable dtDetails = ds.Table[0];
List<int> lstExcelCurrencyCode =
                    (from dr in dtDetails.AsEnumerable()
                      select  dr.Field<int>("bd_id")).ToList<int>();
    SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
    DataSet ds = new DataSet();
    sda.Fill(ds, "table");
    IList<T> lists = GetList<T>(ds.Tables["table"]);
    //DataTable Convert To List Method
    public List<T> GetList<T>(DataTable table)
    {
        List<T> list = new List<T>();
        T t = default(T);
        PropertyInfo[] propertypes = null;
        string tempName = string.Empty;
        foreach (DataRow row in table.Rows)
        {
            t = Activator.CreateInstance<T>();
            propertypes = t.GetType().GetProperties();
            foreach (PropertyInfo pro in propertypes)
            {
                tempName = pro.Name;
                if (table.Columns.Contains(tempName))
                {
                    object value = row[tempName];
                    if (value.GetType() == typeof(System.DBNull))
                    {
                        value = null;
                    }
                    pro.SetValue(t, value, null);
                }
            }
            list.Add(t);
        }
        return list;
    }