private MyCatSchemaCollection GetTable(string sql) { MyCatSchemaCollection c = new MyCatSchemaCollection(); MyCatCommand cmd = new MyCatCommand(sql, connection); MyCatDataReader reader = cmd.ExecuteReader(); // add columns for (int i = 0; i < reader.FieldCount; i++) { c.AddColumn(reader.GetName(i), reader.GetFieldType(i)); } using (reader) { while (reader.Read()) { MyCatSchemaRow row = c.AddRow(); for (int i = 0; i < reader.FieldCount; i++) { row[i] = reader.GetValue(i); } } } return(c); }