升2星,开心,顺便发个用反射将数据读入实体类的小例子!

zhnzzy 2008-12-18 04:18:00

谢谢大家!最近心情也不错,生日快到了:)

下面是我以前整理的动态将DATASET的值反射改实体类,这是懒人用的(不愿意一个一个去赋值,呵呵,不过听高手说反射还是很影响效率的)。最后将ArrayList 返回给前台就可以用了。

using System.Reflection;
using System.Collections;

ArrayList a =new ArrayList();
foreach(DataRow dr in ds.Tables[0].Rows)
{
Detail c =new Detail();//这是我定义的实体类,大家可以换成自己的
foreach (DataColumn dc in dr.Table.Columns)
{

PropertyInfo pi = c.GetType().GetProperty(dc.ColumnName);//获取根据表的类名创建的实体类属性

if(pi!=null)
{
if (dr[dc.ColumnName]!= DBNull.Value)
{
if(pi.PropertyType.IsEnum)
{
pi.SetValue(c,Enum.ToObject(pi.PropertyType,dr[dc.ColumnName]),null);
}
else
{
pi.SetValue(c, dr[dc.ColumnName], null);
}
}
else
{
pi.SetValue(c, null, null);
}

}

a.Add(c);

}




...全文
444 82 打赏 收藏 转发到动态 举报
写回复
用AI写文章
82 条回复
切换为时间正序
请发表友善的回复…
发表回复
Super_Ego 2009-11-23
  • 打赏
  • 举报
回复
学习一下。。。
takako_mu 2008-12-19
  • 打赏
  • 举报
回复
UP....
baobei7758 2008-12-19
  • 打赏
  • 举报
回复
恭喜
cwmwss 2008-12-19
  • 打赏
  • 举报
回复
恭喜,虽然还没看懂
yumi_yu 2008-12-19
  • 打赏
  • 举报
回复
(*^__^*) 嘻嘻…… 那么多好事呢~~恭喜哩~~~
guobingke 2008-12-19
  • 打赏
  • 举报
回复
学习
stromboy007 2008-12-19
  • 打赏
  • 举报
回复
升星又生日。那恭喜啊~~~ 呵呵 顺便接点分~~~!~!
net_xiaojian 2008-12-19
  • 打赏
  • 举报
回复
刚想来CSDN找点反射的东西看看,一刷就看到这个,看看,也祝lz生日快乐。
angelzqchen 2008-12-19
  • 打赏
  • 举报
回复
JF
amanizty 2008-12-19
  • 打赏
  • 举报
回复
up~
sjt000 2008-12-19
  • 打赏
  • 举报
回复
mark
smmlfl 2008-12-19
  • 打赏
  • 举报
回复
恭喜恭喜
shinlgienls 2008-12-18
  • 打赏
  • 举报
回复
up
yagebu1983 2008-12-18
  • 打赏
  • 举报
回复
首相恭喜楼主!!!
应该用泛型才好啊!!!
ojekleen 2008-12-18
  • 打赏
  • 举报
回复
[Quote=引用 61 楼 dd__dd 的回复:]
引用 43 楼 zhnzzy 的回复:
引用 30 楼 dd__dd 的回复:
呵呵,恭喜了,例子也不错啊,加上sp123的评语很好啊。
还有就是我生日也快到了,不知道LZ几号啊?

呵呵 23号

呵呵 我21,同祝吧
[/Quote]

啊西,一起两个祝了
ojekleen 2008-12-18
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 lovehongyun 的回复:]
恭喜
生日快乐
[/Quote]

人家升星怎么变成生日快乐了?
flyjimi 2008-12-18
  • 打赏
  • 举报
回复
恭喜,提前猪你生日快乐
criedshy 2008-12-18
  • 打赏
  • 举报
回复
好像我也该散分了
我姓区不姓区 2008-12-18
  • 打赏
  • 举报
回复
up
fxf90 2008-12-18
  • 打赏
  • 举报
回复
接分,看看反射,我还不会啊
加载更多回复(62)

62,067

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧