1 public DataTable ExecuteDataTable(Sql sql) 2 { 3 return ExecuteDataTable(sql.SQL, sql.Arguments); 4 } 5 public DataTable ExecuteDataTable(string sql, params object[] args) 6 { 7 try 8 { 9 OpenSharedConnection(); 10 try 11 { 12 using (var cmd = CreateCommand(_sharedConnection, sql, args)) 13 { 14 var val = cmd.ExecuteReader(); 15 OnExecutedCommand(cmd); 16 var dt = new DataTable(); 17 dt.Load(val); 18 return dt; //(T)Convert.ChangeType(val, typeof(T)); 19 } 20 } 21 finally 22 { 23 CloseSharedConnection(); 24 } 25 } 26 catch (Exception x) 27 { 28 OnException(x); 29 throw; 30 } 31 }