public DynamicTable ExecuteDynamicTable(SqlStatement sql) { var table = new DynamicTable(); ExecuteDataReader(sql, dr => { while (dr.Read()) { if (table.NeedInit) { for (int i = 0; i < dr.FieldCount; i++) { table.AddKey(dr.GetName(i), i); } table.NeedInit = false; } var row = table.NewRow(); var cols = new object[dr.FieldCount]; dr.GetValues(cols); row.AppendMemberRange(cols); } }); return(table); }
public DynamicTable ExecuteDynamicTable(SqlStatement sql) { var table = new DynamicTable(); ExecuteDataReader(sql, dr => { while (dr.Read()) { if (table.NeedInit) { for (int i = 0; i < dr.FieldCount; i++) { table.AddKey(dr.GetName(i), i); } table.NeedInit = false; } var row = table.NewRow(); var cols = new object[dr.FieldCount]; dr.GetValues(cols); row.AppendMemberRange(cols); } }); return table; }