IList,IList<T>转成dataSet
2016-03-15 09:28
323 查看
在网上看到的IList转成dataset,下面是源代码和修改后支持泛型IList<T>,测试代码后可用。
public static DataSet ListToDataSet(IList ResList)
{
DataSet RDS = new DataSet();
DataTable TempDT = new DataTable();
System.Reflection.PropertyInfo[] p = ResList[0].GetType().GetProperties();
foreach (System.Reflection.PropertyInfo pi in p)
{
TempDT.Columns.Add(pi.Name, System.Type.GetType(pi.PropertyType.ToString()));
}
for (int i = 0; i < ResList.Count; i++)
{
IList TempList = new ArrayList();
//将IList中的一条记录写入ArrayList
foreach (System.Reflection.PropertyInfo pi in p)
{
object oo = pi.GetValue(ResList[i], null);
TempList.Add(oo);
}
object[] itm = new object[p.Length];
//遍历ArrayList向object[]里放数据
for (int j = 0; j < TempList.Count; j++)
{
itm.SetValue(TempList[j], j);
}
//将object[]的内容放入DataTable
TempDT.LoadDataRow(itm, true);
}
//将DateTable放入DataSet
RDS.Tables.Add(TempDT);
//返回DataSet
return RDS;
}
下面是IList<T>转成dataSet ,好像并没有什么变化呢- -
public DataSet ListToDataSet(IList<object> ResList)
{
DataSet RDS = new DataSet();
DataTable TempDT = new DataTable();
System.Reflection.PropertyInfo[] p = ResList[0].GetType().GetProperties();
foreach (System.Reflection.PropertyInfo pi in p)
{
TempDT.Columns.Add(pi.Name, System.Type.GetType(pi.PropertyType.ToString()));
}
for (int i = 0; i < ResList.Count; i++)
{
IList TempList = new ArrayList();
//将IList中的一条记录写入ArrayList
foreach (System.Reflection.PropertyInfo pi in p)
{
object oo = pi.GetValue(ResList[i], null);
TempList.Add(oo);
}
object[] itm = new object[p.Length];
//遍历ArrayList向object[]里放数据
for (int j = 0; j < TempList.Count; j++)
{
itm.SetValue(TempList[j], j);
}
//将object[]的内容放入DataTable
TempDT.LoadDataRow(itm, true);
}
//将DateTable放入DataSet
RDS.Tables.Add(TempDT);
//返回DataSet
return RDS;
}
public static DataSet ListToDataSet(IList ResList)
{
DataSet RDS = new DataSet();
DataTable TempDT = new DataTable();
System.Reflection.PropertyInfo[] p = ResList[0].GetType().GetProperties();
foreach (System.Reflection.PropertyInfo pi in p)
{
TempDT.Columns.Add(pi.Name, System.Type.GetType(pi.PropertyType.ToString()));
}
for (int i = 0; i < ResList.Count; i++)
{
IList TempList = new ArrayList();
//将IList中的一条记录写入ArrayList
foreach (System.Reflection.PropertyInfo pi in p)
{
object oo = pi.GetValue(ResList[i], null);
TempList.Add(oo);
}
object[] itm = new object[p.Length];
//遍历ArrayList向object[]里放数据
for (int j = 0; j < TempList.Count; j++)
{
itm.SetValue(TempList[j], j);
}
//将object[]的内容放入DataTable
TempDT.LoadDataRow(itm, true);
}
//将DateTable放入DataSet
RDS.Tables.Add(TempDT);
//返回DataSet
return RDS;
}
下面是IList<T>转成dataSet ,好像并没有什么变化呢- -
public DataSet ListToDataSet(IList<object> ResList)
{
DataSet RDS = new DataSet();
DataTable TempDT = new DataTable();
System.Reflection.PropertyInfo[] p = ResList[0].GetType().GetProperties();
foreach (System.Reflection.PropertyInfo pi in p)
{
TempDT.Columns.Add(pi.Name, System.Type.GetType(pi.PropertyType.ToString()));
}
for (int i = 0; i < ResList.Count; i++)
{
IList TempList = new ArrayList();
//将IList中的一条记录写入ArrayList
foreach (System.Reflection.PropertyInfo pi in p)
{
object oo = pi.GetValue(ResList[i], null);
TempList.Add(oo);
}
object[] itm = new object[p.Length];
//遍历ArrayList向object[]里放数据
for (int j = 0; j < TempList.Count; j++)
{
itm.SetValue(TempList[j], j);
}
//将object[]的内容放入DataTable
TempDT.LoadDataRow(itm, true);
}
//将DateTable放入DataSet
RDS.Tables.Add(TempDT);
//返回DataSet
return RDS;
}
相关文章推荐
- C#中Ilist与list的区别小结
- C#中IList<T>与List<T>的区别深入解析
- C#检测DataSet是否为空的方法
- C#通过DataSet读写xml文件的方法
- C#使用DataSet Datatable更新数据库的三种实现方法
- C#从数据库读取数据到DataSet并保存到xml文件的方法
- c#使用Dataset读取XML文件动态生成菜单的方法
- DataReader、DataSet、DataAdapter和DataView使用介绍
- DataSet与DataTable的区别示例介绍
- C#中的DataSet、string、DataTable、对象转换成Json的实现代码
- 关于javascript中dataset的问题小结
- C#将Excel中的数据转换成DataSet
- asp.net如何将DataSet转换成josn并输出
- 详细说明asp.net中datareader 和 dataset 的区别
- c#的dataset离线数据集示例
- 将excel数据转换成dataset示例
- ASP.NET中DataTable与DataSet之间的转换示例
- DataSet 添加数据集、行、列、主键和外键等操作示例
- C#实现利用泛型将DataSet转为Model的方法
- C#中IEnumerable、ICollection、IList、List之间的区别