zoukankan      html  css  js  c++  java
  • 为PetaPoco添加Fill方法 拓荒者

      因为公司框架中的很多地方用到DataTable,直接将DataTable作为数据源绑定到DataGridView,所以为PetaPoco添加了两个方法,一个是用以填充单个DataTable,一个是用以多结果集时填充DataSet。

            #region operation Fill
    
            /// <summary>
            /// 填充一个DataSet
            /// </summary>
            /// <param name="ds">引用的DataSet</param>
            /// <param name="sql">sql语句</param>
            /// <param name="args">参数</param>
            public void Fill(DataSet ds, string sql, params object[] args)
            {
                OpenSharedConnection();
    
                try
                {
                    using (var cmd = CreateCommand(_sharedConnection, sql, args))
                    {
                        using (DbDataAdapter dbDataAdapter = _factory.CreateDataAdapter())
                        {
                            dbDataAdapter.SelectCommand = (DbCommand)cmd;
                            dbDataAdapter.Fill(ds);
                        }
                    }
                }
                finally
                {
                    CloseSharedConnection();
                }
            }
    
            /// <summary>
            /// 填充一个DataTable
            /// </summary>
            /// <param name="dt">DataTable的引用</param>
            /// <param name="sql">Sql语句</param>
            /// <param name="args">参数</param>
            public void Fill(DataTable dt, string sql, params object[] args)
            {
                OpenSharedConnection();
    
                try
                {
                    using (var cmd = CreateCommand(_sharedConnection, sql, args))
                    {
                        using (DbDataAdapter dbDataAdapter = _factory.CreateDataAdapter())
                        {
                            dbDataAdapter.SelectCommand = (DbCommand)cmd;
                            dbDataAdapter.Fill(dt);
                        }
                    }
                }
                finally
                {
                    CloseSharedConnection();
                }
            }
    
            #endregion

    得到的DataTable可结合之前的一篇将DataTable转换为Json字符串的方法一起使用,无需转换实体,直接得到Json字符串,在前台使用。

  • 相关阅读:
    poj 1017 Packets
    hdu 1058 The sum problem
    HDU 1205 吃糖果
    Hdu 1004 Let the Balloon Rise map解决方法
    poj 1700 贪心算法(1)
    大数计算器
    大整数的加减乘除取模
    【单调队列】poj 2823 Sliding Window
    【单调队列】bzoj 1407 [HAOI2007]理想的正方形
    【单调队列+二分查找】bzoj 1012: [JSOI2008]最大数maxnumber
  • 原文地址:https://www.cnblogs.com/youring2/p/2556456.html
Copyright © 2011-2022 走看看