简单的反射 把datatable 转换成list对象

        /// <summary>/// 把datatable 转换成list对象/// </summary>/// <typeparam name="T"></typeparam>/// <param name="dt"></param>/// <returns></returns>public List<T> SelectsAll<T>(DataTable dt) where T : new(){// 定义集合List<T> list = new List<T>();// 获得此模型的类型Type type = typeof(T);//定义一个临时变量string tempName = string.Empty;//遍历DataTable中所有的数据行 foreach (DataRow dr in dt.Rows){T t = new T();// 获得此模型的公共属性PropertyInfo[] propertys = t.GetType().GetProperties();//遍历该对象的所有属性foreach (PropertyInfo pi in propertys){tempName = pi.Name;//将属性名称赋值给临时变量  //检查DataTable是否包含此列(列名==对象的属性名)    if (dt.Columns.Contains(tempName)){// 判断此属性是否有Setter  if (!pi.CanWrite) continue;//该属性不可写,直接跳出  //取值  object value = dr[tempName];//如果非空,则赋给对象的属性  if (value != DBNull.Value)pi.SetValue(t, value, null);}}//对象添加到泛型集合中
                list.Add(t);}dt.Clear();dt.Dispose();return list;}

 

转载于:https://www.cnblogs.com/sunShineJing/p/5378131.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/271945.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 取 映射数据库中_JAVA与数据库MySQL相连接

JDBC(Java数据库连接体系结构)&#xff1a;是Java实现数据库访问的应用程序编程接口&#xff0c;主要功能是管理存放在数据库中的数据。通过接口对象&#xff0c;应用程序可以完成与数据库的连接&#xff0c;执行SQL语句&#xff0c;从数据库中获取结果&#xff0c;获取状态以及…

抽象类必须要有抽象方法吗?

答案是&#xff1a;不必须。 这个题目主要是考察对抽象类的理解。 说一下我个人的理解吧。 1.如果一个类使用了abstract关键字修饰&#xff0c;那么这个类就是一个抽象类。 2.抽象类可以没有抽象方法 3.一个类如果包含抽象方法&#xff0c;那么这个类必须是抽象类&#xf…

python序列化和反序列化_Python 中 json 数据序列化和反序列化

1.Json 定义定义&#xff1a;JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。JSON 的数据格式其实就是 python 里面的字典格式&#xff0c;里面可以包含方括号括起来的数组&#xff0c;也就是python里面的列表。特点&#xff1a;简洁和清晰的层次…

重写navigationController的push方法后,出现卡顿现象

在使用navigation的pushViewController进行push的时候&#xff0c;两个页面间的动画会出现卡顿一下再推出的效果&#xff0c;是因为iOS7 viewController背景颜色的问题&#xff0c;看到大神的博客上说&#xff1a;其实不是卡顿&#xff0c;是由于透明色颜色重叠后视觉上的问题&…

硬件:RS232基础知识笔记

个人计算机上的通讯接口之一&#xff0c;由电子工业协会&#xff08;ElectronicIndustriesAssociation&#xff0c;EIA&#xff09;所制定的异步传输标准接口。通常RS-232接口以9个引脚&#xff08;DB-9&#xff09;或是25个引脚&#xff08;DB-25&#xff09;的型态出现&#…

普通类和抽象类有哪些区别?

抽象类不能被实例化抽象类可以有抽象方法&#xff0c;抽象方法只需申明&#xff0c;无需实现含有抽象方法的类必须申明为抽象类抽象类的子类必须实现抽象类中所有抽象方法&#xff0c;否则这个子类也是抽象类抽象方法不能被声明为静态static抽象方法不能用 private 修饰&#x…

正则表达式格式化日期

var str "2016年4月11日";str str.replace(/[\u5e74|\u6708]/g,"-").replace(/\u65e5/g,""); 转载于:https://www.cnblogs.com/smght/p/5379514.html

硬件:RS422基础知识笔记

❤️作者主页&#xff1a;IT技术分享社区 ❤️作者简介&#xff1a;大家好,我是IT技术分享社区的博主&#xff0c;从事C#、Java开发九年&#xff0c;对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉&#xff1a; 数据库领域优质创作者&#x1f3c6;&#x…

mysql和php数据交互_php mysql交互

1.接受数据if($_POST){$uname trim($_POST[‘uname‘]);$pasd md5($_POST[‘pasd‘]);2.查询数据库$conn new mysqli(‘localhost‘,‘root‘,‘root‘,‘qiye‘);$sql "select * from admin where uname ‘$uname‘ and pasd ‘$pasd‘ ";$res $conn->que…

硬件:串口握手基础知识笔记

RS-232通行方式允许简单连接三线&#xff1a;Tx、Rx和地线。但是对于数据传输&#xff0c;双方必须对数据定时采用使用相同的波特率。尽管这种方法对于大多数应用已经足够&#xff0c;但是对于接收方过载的情况这种使用受到限制。这时需要串口的握手功能。在这一部分&#xff0…

PyV8

待完善 pyv8是个js解析引擎&#xff0c; PyV8 是 V8 引擎的 Python 语言封装&#xff0c;这是 Python 和 JavaScript 对象之间的桥&#xff0c;支持在 Python 脚本中调用 V8 引擎。 # -*- coding: cp936 -*-import PyV8class Test():def js(self):ctxt PyV8.JSContext()ctxt.e…

抽象类能使用 final 修饰吗?

抽象类就是要被继承的&#xff0c;不能用final声明&#xff0c;final声明的类不可继承

python高斯求和_二、算法分析

一、什么是算法分析程序和算法的区别&#xff1a;算法是对问题解决的分步描述程序是采用某种编程语言实现的算法&#xff0c;同一个算法通过不同的程序员采用不同的编程语言&#xff0c;能产生很多程序算法分析的概念&#xff1a;算法分析主要就是从计算资源消耗的角度来评判和…

硬件:交换机基础知识

1、交换机的概念交换机&#xff08;Switch&#xff09;意为“开关”&#xff0c;是一种用于电&#xff08;光&#xff09;信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音交换机、光纤交…

PhantomJS 与python的结合

待完善 一.简介 PhantomJS是一个基于webkit的JavaScript API。它使用QtWebKit作为它核心浏览器的功能&#xff0c;使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器 做的事情&#xff0c;它都能做到。它不仅是个隐形的浏览器&#xff0c;提供了诸如CSS选…

mysql对数据库的操作_MySQL数据库对数据库的操作

1.创建数据库mysqlgt; create database if not exists tongcheng; Query OK, 1 row affected (0.01 sec) mysqlgt; 2.查看创建数1.创建数据库mysql> create database if not exists tongcheng;Query OK, 1 row affected (0.01 sec)mysql>2.查看创建数据库时的选项mysql&g…

static用途

static关键字的用途 一句话描述就是&#xff1a;方便在没有创建对象的情况下进行调用(方法/变量)。 显然&#xff0c;被static关键字修饰的方法或者变量不需要依赖于对象来进行访问&#xff0c;只要类被加载了&#xff0c;就可以通过类名去进行访问。 static可以用来修饰类的…

硬件:宽带猫(光猫)的基础知识

❤️作者主页&#xff1a;IT技术分享社区 ❤️作者简介&#xff1a;大家好,我是IT技术分享社区的博主&#xff0c;从事C#、Java开发九年&#xff0c;对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉&#xff1a; 数据库领域优质创作者&#x1f3c6;&#x…

筛法求素数

一般&#xff1a; #include<stdio.h> int main() { int a[100], i, j; for(i 2; i < 100; i) a[i] 1;//令2-99都为1 for(i 2; i < 100/2; i)//2 - 到 范围的一半的所有倍数 { if(a[i] 1)//还未被筛 素数不会被筛 合数会被筛 …

mysql实用管理器添加外键_MySQL 添加外键

MySQL 添加外键MySQL 添加外键DROP TABLE IF EXISTS nation;CREATE TABLE nation(pii_Nation smallint(2) unsigned NOT NULL default 0,pii_NatinoName varchar(40) NOT NULL default ,PRIMARY KEY (pii_Nation))ENGINEInnoDB DEFAULT CHARSETutf8;DROP TABLE IF EXISTS user…