如何将数据集中的值添加到列表中?
问题描述:
string str = "Select bd_id from [Active]";
ds = new DataSet(str);
da = new SqlDataAdapter(str, con);
da.Fill(ds);
我想补充一点,我得到的ID'S的列表形式的数据集:如何将数据集中的值添加到列表中?
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;
}
怎么会,帮助我?将有助于如果你可以站点几个步骤 – vini 2012-02-04 06:29:18
@vini - 你现在可以看到示例代码...你也可以谷歌LINQ到datable并获得有关此信息的详细信息..我希望你知道C#的LINQ# – 2012-02-04 06:32:32
它完成谢谢: ) – vini 2012-02-04 06:36:31