使用反射机制将DataTable某行数据赋给一个类
2008-06-03 18:36
330 查看
这里的类是包含所有DataTable列为字段的类,比如DataTable有列a,b,c,那麽类中就有a,b,c三个字段,另外还可以自定义字段。
以下是源代码:
以下是源代码:
/// /// 依据反射机制实例化一个对象 /// /// 要实例的对象 /// 值[DataTable对象] /// 要读取DataTable行的序号 /// 返回被实例的对象 public static Object InstantiationBean(Object obj, DataTable dataTable, int row) { DataColumnCollection dtcolColl = dataTable.Columns; //数据结果集列总数 DataRowCollection dtrowColl = dataTable.Rows; //数据结果集行总数 //如果数据为空 if (dtrowColl.Count == 0) { return null; } DataRow dataRow = dtrowColl[row]; //取出第row行数据 Type type = obj.GetType(); //建立反射 try { int count = dtcolColl.Count; for (int i = 0; i < count; i++) //循环数据结果集列名 { String colName = dtcolColl[i].ColumnName; //取出数据结果集列名 PropertyInfo pInfo = type.GetProperty(colName); //反射机制,动态检索类属性 if (pInfo != null) //如果在类中找到对应的属性值,则将其实例到对象中 { Object objColName = dataRow[colName]; if (!Convert.IsDBNull(objColName) && objColName.ToString() != null) //如果数据集中此列有值 { pInfo.SetValue(obj, Convert.ToString(objColName), null); } else { pInfo.SetValue(obj, null, null); //如果数据集中此列没有值 } } } } catch (Exception ex) { //不捕获异常,异常抛出由开发人员处理 throw ex; } return obj; }
相关文章推荐
- 使用反射机制实现实体列表到DataTable的深层字段转换
- C# DataTable构造自定义数据的一个使用问题
- 使用反射机制 来把一个具体的bean 处理成一个map。并且获得其中的field和值
- MysqlHelper使用反射机制智能推算数据类型以及属性名称
- Android解析Json数据(二)—使用反射机制
- 使用反射将DataTable的数据转成实体类
- java使用反射机制进行对象间数据赋值获取
- 使用linq机制 实现datatable连表查询 结果赋值到一个新的datatable
- poi到处数据 使用反射机制 动态取字段数据
- 使用反射机制将一个类实例的值赋给DataTable某一行
- Android中使用JAVA的反射机制控制数据连接
- 深度复制一个对象方法。利用反射机制,不使用Serialization,也不使用ICloneable接口
- 使用反射机制用一个类实例的值为DataTable添加一行
- 实现一个线程安全的内存池(使用线程私有数据机制TSD来实现)
- 使用反射机制 来把一个具体的bean 处理成一个map。并且获得其中的field和值
- 黑马程序员——09 高新技术(二)一个例子学会使用反射机制
- 使用反射机制用一个类实例的值为DataTable添加一行
- 使用简单工厂模式和反射机制优化MVP数据绑定流程
- 使用反射机制将一个类实例的值赋给DataTable某一行
- 反射机制和工厂设计模式的使用