zoukankan      html  css  js  c++  java
  • 关于.NET List<T>泛型方法

    1、引入using System.Reflection;

    /// <summary>
    /// 用提供的函数,执行SQL命令,返回一个从指定连接的数据库记录集
    /// </summary>
    /// <param name="connecttionString">一个现有的数据库连接</param>
    /// <param name="cmdText">SqlCommand命令类型</param>
    /// <param name="cmdText">存储过程的名字或者 T-SQL 语句</param>
    /// <returns>返回一个表(List<T>)表示查询得到的数据集</returns>
    public static List<T> GetList<T>(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms) where T : new()
    {
    DataTable table = GetDataTable(connectionString, cmdType, cmdText, null);
    List<T> list = new List<T>();
    T t = default(T);
    PropertyInfo[] propertypes = null;
    string tempName = string.Empty;
    foreach (DataRow row in table.Rows)
    {
    t = Activator.CreateInstance<T>();
    propertypes = t.GetType().GetProperties();
    foreach (PropertyInfo pro in propertypes)
    {
    tempName = pro.Name;
    if (table.Columns.Contains(tempName))
    {
    var value = row[tempName];
    if (!value.ToString().Equals(""))
    {
    pro.SetValue(t, value);
    }
    }
    }
    list.Add(t);
    }
    return list.Count == 0 ? null : list;
    }

    /// <summary>
    /// 用提供的函数,执行SQL命令,返回一个从指定连接的数据库记录集
    /// </summary>
    /// <param name="cmdType">cmdType CommandType</param>
    /// <param name="cmdText">cmdText Sql语句</param>
    /// <param name="cmdParms">cmdParms Sql参数数组</param>
    /// <returns>Datatable 数据集</returns>
    public static DataTable GetDataTable(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
    {
    SqlCommand cmd = new SqlCommand();
    DataSet ds = new DataSet();
    using (SqlConnection conn = new SqlConnection(connectionString))
    {
    PrepareCommand(null, cmd, conn, cmdType, cmdText, cmdParms);
    SqlDataAdapter adapter = new SqlDataAdapter();
    adapter.SelectCommand = cmd;
    adapter.Fill(ds, "table");
    }
    return ds.Tables["table"];
    }

    作者:D调灬仔
    出处:https://www.cnblogs.com/chj929555796/
    您的推荐是我最大的动力,如果觉得这篇文章对你有帮助的话,请点个“推荐”哦,博主在此感谢!
  • 相关阅读:
    Struts2结合Ajax实现登录
    Java读取Properties文件
    职责链模式
    javaScript初学者易错点
    2019 DevOps 必备面试题——DevOps 理念篇
    如何成为一名优秀的敏捷团队负责人
    为什么企业敏捷团队会失败
    伪装的敏捷,我好累
    CODING 告诉你如何建立一个 Scrum 团队
    十倍程序员的传说
  • 原文地址:https://www.cnblogs.com/chj929555796/p/6277980.html
Copyright © 2011-2022 走看看