欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#中DataSet轉(zhuǎn)化為實(shí)體集合類的方法

 更新時(shí)間:2014年10月28日 16:06:52   投稿:shichen2014  
這篇文章主要介紹了C#中DataSet轉(zhuǎn)化為實(shí)體集合類的方法,是非常實(shí)用的技巧,需要的朋友可以參考下

本文實(shí)例講述了C#中DataSet轉(zhuǎn)化為實(shí)體集合類的方法,分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

復(fù)制代碼 代碼如下:
/// <summary>
/// DataSet轉(zhuǎn)換為實(shí)體類
/// </summary>
/// <typeparam name="T">實(shí)體類</typeparam>
/// <param name="p_DataSet">DataSet</param>
/// <param name="p_TableIndex">待轉(zhuǎn)換數(shù)據(jù)表索引</param>
/// <returns>實(shí)體類</returns>
public static T DataSetToEntity<T>(DataSet p_DataSet, int p_TableIndex)
{
    if (p_DataSet == null || p_DataSet.Tables.Count < 0)
 return default(T);
    if (p_TableIndex > p_DataSet.Tables.Count - 1)
 return default(T);
    if (p_TableIndex < 0)
 p_TableIndex = 0;
    if (p_DataSet.Tables[p_TableIndex].Rows.Count <= 0)
 return default(T);

    DataRow p_Data = p_DataSet.Tables[p_TableIndex].Rows[0];
    // 返回值初始化
    T _t = (T)Activator.CreateInstance(typeof(T));
    PropertyInfo[] propertys = _t.GetType().GetProperties();
    foreach (PropertyInfo pi in propertys)
    {
 if (p_DataSet.Tables[p_TableIndex].Columns.IndexOf(pi.Name.ToUpper()) != -1 && p_Data[pi.Name.ToUpper()] != DBNull.Value)
 {
     pi.SetValue(_t, p_Data[pi.Name.ToUpper()], null);
 }
 else
 {
     pi.SetValue(_t, null, null);
 }
    }
    return _t;
}

/// <summary>
/// DataSet轉(zhuǎn)換為實(shí)體列表
/// </summary>
/// <typeparam name="T">實(shí)體類</typeparam>
/// <param name="p_DataSet">DataSet</param>
/// <param name="p_TableIndex">待轉(zhuǎn)換數(shù)據(jù)表索引</param>
/// <returns>實(shí)體類列表</returns>
public static IList<T> DataSetToEntityList<T>(DataSet p_DataSet, int p_TableIndex)
{
    if (p_DataSet == null || p_DataSet.Tables.Count < 0)
 return default(IList<T>);
    if (p_TableIndex > p_DataSet.Tables.Count - 1)
 return default(IList<T>);
    if (p_TableIndex < 0)
 p_TableIndex = 0;
    if (p_DataSet.Tables[p_TableIndex].Rows.Count <= 0)
 return default(IList<T>);

    DataTable p_Data = p_DataSet.Tables[p_TableIndex];
    // 返回值初始化
    IList<T> result = new List<T>();
    for (int j = 0; j < p_Data.Rows.Count; j++)
    {
 T _t = (T)Activator.CreateInstance(typeof(T));
 PropertyInfo[] propertys = _t.GetType().GetProperties();
 foreach (PropertyInfo pi in propertys)
 {
     if (p_Data.Columns.IndexOf(pi.Name.ToUpper()) != -1 && p_Data.Rows[j][pi.Name.ToUpper()] != DBNull.Value)
     {
  pi.SetValue(_t, p_Data.Rows[j][pi.Name.ToUpper()], null);
     }
     else
     {
  pi.SetValue(_t, null, null);
     }
 }
 result.Add(_t);
    }
    return result;
}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C#實(shí)現(xiàn)由四周向中心縮小的窗體退出特效

    C#實(shí)現(xiàn)由四周向中心縮小的窗體退出特效

    這篇文章主要介紹了C#實(shí)現(xiàn)由四周向中心縮小的窗體退出特效,通過簡(jiǎn)單的C#窗口調(diào)用參數(shù)設(shè)置實(shí)現(xiàn)該退出特效功能,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-08-08
  • C#編程獲取IP地址的方法示例

    C#編程獲取IP地址的方法示例

    這篇文章主要介紹了C#編程獲取IP地址的方法,結(jié)合實(shí)例形式分析了C#獲取客戶端IP地址的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-01-01
  • DevExpress設(shè)置餅狀圖的Lable位置實(shí)例

    DevExpress設(shè)置餅狀圖的Lable位置實(shí)例

    這篇文章主要介紹了DevExpress設(shè)置餅狀圖的Lable位置的方法,以實(shí)例形式詳細(xì)講述了設(shè)置餅狀圖的Lable位置具體實(shí)現(xiàn)過程,需要的朋友可以參考下
    2014-10-10
  • C#中匿名方法與委托的關(guān)系介紹

    C#中匿名方法與委托的關(guān)系介紹

    這篇文章介紹了C#中匿名方法與委托的關(guān)系,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • C#使用log4net記錄日志

    C#使用log4net記錄日志

    本文詳細(xì)講解了C#使用log4net記錄日志的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • WPF開發(fā)技巧之花式控件功能擴(kuò)展詳解

    WPF開發(fā)技巧之花式控件功能擴(kuò)展詳解

    這篇文章主要給大家介紹了關(guān)于WPF日常開發(fā)之花式控件功能擴(kuò)展的相關(guān)資料,通過文中這個(gè)例子,我們可以對(duì)WPF的掌握會(huì)更深刻,需要的朋友可以參考下
    2021-07-07
  • 關(guān)于C#泛型列表List<T>的基本用法總結(jié)

    關(guān)于C#泛型列表List<T>的基本用法總結(jié)

    本篇文章主要是對(duì)C#中泛型列表List<T>的基本用法進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2014-01-01
  • 京東聯(lián)盟C#接口測(cè)試示例分享

    京東聯(lián)盟C#接口測(cè)試示例分享

    這篇文章主要介紹了京東聯(lián)盟C#接口測(cè)試示例分享的相關(guān)資料,需要的朋友可以參考下
    2017-12-12
  • C#保存listbox中數(shù)據(jù)到文本文件的方法

    C#保存listbox中數(shù)據(jù)到文本文件的方法

    這篇文章主要介紹了C#保存listbox中數(shù)據(jù)到文本文件的方法,涉及C#操作listbox數(shù)據(jù)的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • C#游戲開發(fā)之實(shí)現(xiàn)華容道游戲

    C#游戲開發(fā)之實(shí)現(xiàn)華容道游戲

    這篇文章主要為大家詳細(xì)介紹了C#如何實(shí)現(xiàn)經(jīng)典華容道游戲,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-01-01

最新評(píng)論