.net中如何给数据表实体类赋值的方法_ASP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:ASP实现小偷程序原理和简单示例
(一)原理 小偷程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻小偷程序,很多都是调用了sina的新闻网页,并且对其中的html进行了一些替换,同时对广告也进行了过滤。

今天遇到一个问题,就是数据实体类中如何给属性赋值。因为从数据库中取出来的是一个DataSet如果一个一个给数据实体类中的属性赋值显的非常的笨拙,而且我们的数据表多达24个。在网上搜索了下写出了个简单的方法,代码如下:

首先我们做个实体类

以下为引用的内容:

1 public class Class1
2 {
3 private int inttemp;
4
5 public int IntTemp
6 {
7 get { return inttemp; }
8 set { inttemp = value; }
9 }
10 }
11

那我们怎么找到他并赋值呢?

代码如下:

以下为引用的内容:
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using System.Reflection;
5 using System.Data;
6
7 namespace ConsoleApplication1
8 {
9 class Program
10 {
11 static void Main(string[] args)
12 {
13 Class1 c = new Class1();
14 /*这里是构造一个DataSet*/
15 DataSet ds = new DataSet();
16 DataTable dt = new DataTable();
17 dt.Columns.Add("IntTemp",SqlDbType.Int.GetType());
18 DataRow dr = dt.NewRow();
19 dr["IntTemp"] = 2;
20 dt.Rows.Add(dr);
21 ds.Tables.Add(dt);
22
23 /*这里是重点*/
24 foreach (DataRow dr1 in ds.Tables[0].Rows)
25 {
26 foreach (DataColumn dc in dr1.Table.Columns)
27 {
28 PropertyInfo pi = c.GetType().GetProperty(dc.ColumnName);//获取根据表的类名创建的实体类属性
29 pi.SetValue(c, dc.Table.Rows[0][0], null);//设置这个属性的值
30 }
31 }
32 Console.Write(c.IntTemp "\n");
33 }
34 }
35
36 }


大家可能问这个有什么用?当你按照数据库表的形式简历了一个实体类就可以用这个循环写一个共有的方法专门给不同的实体类的属性赋值,因为pi.SetValue方法的第一个值是object形式的。这样我们就少了很多的麻烦事情。

分享:有用的无声递交表单的客户端函数
采用Microsoft.XMLHTTP提交数据的形式实现客户端无刷新 以下为引用的内容: <SCRIPT LANGUAGE="vbScript"> dim i,strR

来源:模板无忧//所属分类:ASP教程/更新时间:2008-08-22
相关ASP教程