public IEnumerable <ICdlRecord> EnumRows(ArrayDataRecord record, string query, int subSetColumnCount) { using (var selcmd = _conn.CreateCommand()) { selcmd.CommandText = query; using (var reader = selcmd.ExecuteReader()) { while (reader.Read()) { for (int i = 0; i < subSetColumnCount; i++) { record.SeekValue(i); var type = (TypeStorage)reader.GetInt32(i * 2); StorageTool.ReadValue(reader, i * 2 + 1, type, record); } yield return(record); } } } }
public CdlTable LoadTableData(string query) { var table = new CdlTable(_table); using (var selcmd = _conn.CreateCommand()) { selcmd.CommandText = query; using (var reader = selcmd.ExecuteReader()) { while (reader.Read()) { var row = new ArrayDataRecord(_table); for (int i = 0; i < _table.ColumnCount; i++) { row.SeekValue(i); var type = (TypeStorage)reader.GetInt32(i * 2); StorageTool.ReadValue(reader, i * 2 + 1, type, row); } table.AddRowInternal(row); } } } return(table); }