C# DataSet轉IList代碼


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,  nullnull);
                             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 =  0if (ds ==  null || ds.Tables.Count <  0)
                 return  nullif ( 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);
        }

個人收藏學習用!!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM