zoukankan      html  css  js  c++  java
  • IList转化为Dataset C#

    概述:

       在用Nhibernate查询所返回的数据为IList,而我们经常需要的却是DataSet,所以很有必要这么一个方法.

    代码:  

    /**/
            
    /// <summary>  
            
    /// 实现对IList到DataSet的转换   
            
    /// </summary>  
            
    /// <param name="list">待转换的IList</param>  
            
    /// <returns>转换后的DataSet</returns>  
            public static DataSet ListToDataSet(IList list)
            {
                DataSet ds 
    = new DataSet();
                DataTable dt 
    = new DataTable();

                
    //此处遍历IList的结构并建立同样的DataTable   
                System.Reflection.PropertyInfo[] p = list[0].GetType().GetProperties();
                
    foreach (System.Reflection.PropertyInfo pi in p)
                {
                    dt.Columns.Add(pi.Name, System.Type.GetType(pi.PropertyType.ToString()));
                }

                
    for (int i = 0; i < list.Count; i++)
                {
                    ArrayList arrayList 
    = new ArrayList();
                    
    //将IList中的一条记录写入ArrayList   
                    foreach (System.Reflection.PropertyInfo pi in p)
                    {
                        
    object obj = pi.GetValue(list[i], null);
                        arrayList.Add(obj);
                    }

                    
    object[] item = new object[p.Length];
                    
    //遍历ArrayList向object[]里放数据   
                    for (int j = 0; j < arrayList.Count; j++)
                    {
                        item.SetValue(arrayList[j], j);
                    }
                    
    //将object[]的内容放入DataTable   
                    dt.LoadDataRow(item, true);
                }
                
    //将DateTable放入DataSet   
                ds.Tables.Add(dt);

                
    //返回DataSet   
                return ds;
            }   
  • 相关阅读:
    NavigationBar隐藏
    (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
    Makefile 中:= ?= += =的差别 和条件运行
    C# 使用WinRar命令压缩和解压缩
    C# 字段、属性、成员变量
    js中推断对象详细类型
    Python学习入门基础教程(learning Python)--3.3.3 Python逻辑关系表达式
    JavaScript类数组对象参考
    Codeforces Round 190 div.2 322C 321A Ciel and Robot
    Android Application plugin
  • 原文地址:https://www.cnblogs.com/abcdwxc/p/1394076.html
Copyright © 2011-2022 走看看