IList转DataSet(支持Nullable)
来源:互联网 发布:java jsonarray 添加 编辑:程序博客网 时间:2024/04/30 19:08
public static DataSet ConvertToDataSet<T>(IList<T> list)
...{
if (list == null || list.Count <= 0)
return null;
DataSet ds = new DataSet();
DataTable dt = new DataTable(typeof(T).Name);
DataColumn column;
DataRow row;
System.Reflection.PropertyInfo[] myPropertyInfo =
typeof(T).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
foreach (T t in list)
...{
if (t == null) continue;
row = dt.NewRow();
for (int i = 0, j = myPropertyInfo.Length; i < j; i++)
...{
System.Reflection.PropertyInfo pi = myPropertyInfo[i];
String name = pi.Name;
if (dt.Columns[name] == null)
...{
if (pi.PropertyType.UnderlyingSystemType.ToString() == "System.Nullable`1[System.Int32]")
...{
column = new DataColumn(name,typeof(Int32));
dt.Columns.Add(column);
//row[name] = pi.GetValue(t, new object[] {i});//PropertyInfo.GetValue(object,object[])
if (pi.GetValue(t, null) != null)
row[name] = pi.GetValue(t, null);
else
row[name] = System.DBNull.Value;
}
else
...{
column = new DataColumn(name, pi.PropertyType);
dt.Columns.Add(column);
row[name] = pi.GetValue(t, null);
}
}
}
dt.Rows.Add(row);
}
ds.Tables.Add(dt);
return ds;
}
...{
if (list == null || list.Count <= 0)
return null;
DataSet ds = new DataSet();
DataTable dt = new DataTable(typeof(T).Name);
DataColumn column;
DataRow row;
System.Reflection.PropertyInfo[] myPropertyInfo =
typeof(T).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
foreach (T t in list)
...{
if (t == null) continue;
row = dt.NewRow();
for (int i = 0, j = myPropertyInfo.Length; i < j; i++)
...{
System.Reflection.PropertyInfo pi = myPropertyInfo[i];
String name = pi.Name;
if (dt.Columns[name] == null)
...{
if (pi.PropertyType.UnderlyingSystemType.ToString() == "System.Nullable`1[System.Int32]")
...{
column = new DataColumn(name,typeof(Int32));
dt.Columns.Add(column);
//row[name] = pi.GetValue(t, new object[] {i});//PropertyInfo.GetValue(object,object[])
if (pi.GetValue(t, null) != null)
row[name] = pi.GetValue(t, null);
else
row[name] = System.DBNull.Value;
}
else
...{
column = new DataColumn(name, pi.PropertyType);
dt.Columns.Add(column);
row[name] = pi.GetValue(t, null);
}
}
}
dt.Rows.Add(row);
}
ds.Tables.Add(dt);
return ds;
}
- IList转DataSet(支持Nullable)
- IList转DataSet(支持Nullable)
- ilist dataset
- C# DataSet 转 IList 代码 (转)
- IList,IList<T>转成dataSet
- IList 转换成 DataSet
- IList转换成DataSet
- Ilist转换成dataset
- IList 转换成 DataSet
- Ilist 转换成 DataSet
- IList(T)转换DataSet
- IList转换成DataSet
- C# DataTable,DataSet,IList,IEnumerable 互转扩展属性
- 解决DataSet不支持System.nullable
- IList和DataSet性能差别
- C# Ilist 转换成 DataSet
- 支持 Nullable的DataReader高效转实体代码
- 将 IList 或 IList 转换为Dataset或DataTable
- /proc内核目录
- MySQL 之间导入数据 mysqldump工具
- 电子围栏模拟
- Ask Tom之中英文对照20051228——PL/SQL函数返回CLOB类型值
- Javascript获取浏览器窗口大小 - Javascript 获取 浏览器 窗口 大小 JavaScript - 编程 学院 PHP开源 网窝设计BY WWW.WEBWOO.NET - 网窝网
- IList转DataSet(支持Nullable)
- Login VC++ 使用ADO实例
- POJO
- .bashrc和profile的异同
- 在一个存储过程中调用返回一个游标的另一个存储过程
- 得到数据库中所有的表以及表字段
- 如何配置驱动程序开发环境
- Hibernate的lazy问题
- 说一说等价关系