|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
学习asp.net两个月有余了,除了对html、web控件比较熟悉(应该是说都能理解和接受)之外,竟不知道自己还会什么。看了两本书:《精通asp.net网络编程》(人民邮电出版社)、《asp.net实用案例教程》(清华大学出版社)。数据明天碰到一个成绩,就是数据实体类中怎样给属性赋值.由于从数据库中掏出来的是一个DataSet假如一个一个给数据实体类中的属性赋值显的十分的愚笨,并且我们的数据表多达24个.在网上搜刮了下写出了个复杂的办法,代码以下:
起首我们做个实体类
1publicclassClass1
2{
3privateintinttemp;
4
5publicintIntTemp
6{
7get{returninttemp;}
8set{inttemp=value;}
9}
10}
11
那我们怎样找到他并赋值呢?
代码以下:
1usingSystem;
2usingSystem.Collections.Generic;
3usingSystem.Text;
4usingSystem.Reflection;
5usingSystem.Data;
6
7namespaceConsoleApplication1
8{
9classProgram
10{
11staticvoidMain(string[]args)
12{
13Class1c=newClass1();
14/*这里是机关一个DataSet*/
15DataSetds=newDataSet();
16DataTabledt=newDataTable();
17dt.Columns.Add("IntTemp",SqlDbType.Int.GetType());
18DataRowdr=dt.NewRow();
19dr["IntTemp"]=2;
20dt.Rows.Add(dr);
21ds.Tables.Add(dt);
22
23/*这里是重点*/
24foreach(DataRowdr1inds.Tables[0].Rows)
25{
26foreach(DataColumndcindr1.Table.Columns)
27{
28PropertyInfopi=c.GetType().GetProperty(dc.ColumnName);//猎取依据表的类名创立的实体类属性
29pi.SetValue(c,dc.Table.Rows[0][0],null);//设置这个属性的值
30}
31}
32Console.Write(c.IntTemp+"
");
33}
34}
35
36}
人人大概问这个有甚么用?当你依照数据库表的情势简历了一个实体类就能够用这个轮回写一个共有的办法专门给分歧的实体类的属性赋值,由于pi.SetValue办法的第一个值是object情势的.如许我们就少了良多的贫苦事变.
不晓得这个办法对多半据集是不是无效率的成绩.妙手们看了后给我点定见修正下.感谢了.
如果英语好,口才好,加上女孩子的优势说不定有机会进去做做别的工具) |
|