vini
vini

Reputation: 4742

How to add values from Dataset to a List?

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

I want to add the dataset that i get that is a List of ID'S in the form:

bd_id
   1
   2
   3

Into a generic LIST as Items

How do i go about doing the same?

Upvotes: 3

Views: 6359

Answers (2)

Pranay Rana
Pranay Rana

Reputation: 176936

Makue use of LINQ to DATATABLE will do you task easily.

DataTable dtDetails = ds.Table[0];
List<int> lstExcelCurrencyCode =
                    (from dr in dtDetails.AsEnumerable()
                      select  dr.Field<int>("bd_id")).ToList<int>();

Upvotes: 9

javan
javan

Reputation: 74

    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;
    }

Upvotes: 3

Related Questions