
C# DataSet转IList代码
发布日期:2021-05-13 07:42:15
浏览次数:15
分类:博客文章
本文共 1625 字,大约阅读时间需要 5 分钟。
DataSet���IList���������
/// <summary> ��� /// DataSet��������������������� /// </summary> /// <typeparam name="T"></typeparam> /// <param name="ds"> DataSet </param> /// <param name="tableIndex"> ������������������������ </param> /// <returns></returns> public static IList<T> DataSetToIList<T>(DataSet ds, int tableIndex) { if (ds == null || ds.Tables.Count < 0) return null; if (tableIndex > ds.Tables.Count - 1) return null; if (tableIndex < 0) tableIndex = 0; DataTable dt = ds.Tables[tableIndex]; IList<T> result = new List<T>(); for ( int j = 0; j < dt.Rows.Count; j++) { T _t = (T)Activator.CreateInstance( typeof(T)); PropertyInfo[] propertys = _t.GetType().GetProperties(); foreach (PropertyInfo pi in propertys) { for ( int i = 0; i < dt.Columns.Count; i++) { if (pi.Name.Equals(dt.Columns[i].ColumnName)) { if (dt.Rows[j][i] != DBNull.Value) pi.SetValue(_t, dt.Rows[j][i], null); else pi.SetValue(_t, null, null); break; } } } result.Add(_t); } return result; } /// <summary> /// DataSet��������������������� /// </summary> /// <typeparam name="T"></typeparam> /// <param name="ds"> DataSet </param> /// <param name="tableName"> ������������������������ </param> /// <returns></returns> /// 2008-08-01 22:47 HPDV2806 public static IList<T> DataSetToIList<T>(DataSet ds, string tableName) { int _TableIndex = 0; if (ds == null || ds.Tables.Count < 0) return null; if ( string.IsNullOrEmpty(tableName)) return null; for ( int i = 0; i < ds.Tables.Count; i++) { if (ds.Tables[i].TableName.Equals(tableName)) { _TableIndex = i; break; } } return DataSetToIList<T>(ds, _TableIndex); }
���������������������������������
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年04月10日 03时29分24秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
一文理解设计模式--命令模式(Command)
2021-05-12
VTK:可视化之RandomProbe
2021-05-12
block多队列分析 - 2. block多队列的初始化
2021-05-12
Java时间
2021-05-12
不编译只打包system或者vendor image命令
2021-05-12
MySQL
2021-05-12
The wxWindows Library Licence (WXwindows)
2021-05-12
leetcode——第203题——虚拟头结点
2021-05-12
【编程】C语言入门:1到 100 的所有整数中出现多少个数字9
2021-05-12
MySQL----基础及常用命令
2021-05-12
模拟集成:MOS管的工作区小误区(简单版)
2021-05-12
flink启动(二)
2021-05-12
前端开发进阶手册.pdf
2021-05-12
软件架构设计和MESH经验之谈
2021-05-12
redis持久化分析
2021-05-12
复杂指针解析
2021-05-12
打开word时424错误
2021-05-12
如何添加开机自启项
2021-05-12
❤️一个18k运维项目经验这样做的,offer到碗里来❤️
2021-05-12
关于宝塔面板安装的mysql用Navicat连接出现2003的错误解决
2021-05-12