為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字符串,在前台使用。


免責聲明!

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



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