因為公司框架中的很多地方用到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字符串,在前台使用。
