温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:逐迹内容管理系统AspxNuke v2.0源码
当前文件:
AspxNuke/Common/Library/Data/DbManager.cs[1009B,2009-6-12 11:32:24],打开代码结构图
AspxNuke/Common/Library/Data/DbManager.cs[1009B,2009-6-12 11:32:24],打开代码结构图1using System; 2
using System.Collections.Generic; 3
using System.Text; 4
using System.Data; 5
using System.Reflection; 6
7
namespace AspxNuke.Library.Data 8
{ 9
/// <summary> 10
/// 数据管理类 11
/// </summary> 12
public class DbManager 13
{ 14
/// <summary> 15
/// 绑定数据到实体 16
/// </summary> 17
/// <param name="r">数据源</param> 18
/// <param name="o">实体</param> 19
public static void BindIDataReaderToObject(IDataReader r, object o) 20
{ 21
for (int i = 0; i < r.FieldCount; i++) 22
{ 23
try 24
{ 25
PropertyInfo propertyInfo = o.GetType().GetProperty(r.GetName(i)); 26
if (propertyInfo != null) 27
{ 28
if (r.GetValue(i) != DBNull.Value) 29
{ 30
if (propertyInfo.PropertyType.IsEnum) 31
{ 32
propertyInfo.SetValue(o, Enum.ToObject(propertyInfo.PropertyType, r.GetValue(i)), null); 33
} 34
else 35
{ 36
propertyInfo.SetValue(o, r.GetValue(i), null); 37
} 38
} 39
} 40
} 41
catch 42
{ 43
} 44
} 45
} 46
} 47
} 48






}