public DataTable ReadResult(NormalizeInfo dbStructure, long queryId, bool readServiceColumns = false) { const long sessionId = 1L; string modSql = null; string strSQL = null; IEnumerable <SQLiteParameter> parameters = null; DataTable dataTableResult = null; if (dbStructure != null) { Common.Table table = Common.Table.GetTable( this.Connection, dbStructure.TableName ); if (table != null) { CommonRowFiller.GetQueryModifier( out modSql, out parameters, queryId, sessionId ); strSQL = dbStructure.GetSelectQuery(modSql, readServiceColumns) + " ORDER BY " + CommonRowFiller.RowOrderFieldName; ReadTableCommand command = new ReadTableCommand( this.Connection, strSQL, parameters.ToArray() ); command.Execute(100); if (!readServiceColumns) { CommonRowFiller.RemoveServiceColumns(command.Result); } dataTableResult = command.Result; } } return(dataTableResult); }
protected Int64?ProcessRowForWrite( DataRow row, NormalizeInfo dbStructure, out ITableRow tableRow, bool writeToDb ) { Int64?id = null; Common.Table table = this._tables[dbStructure]; tableRow = new TableRow(table.TableDefinition); foreach (DataColumn column in row.Table.Columns) { string columnName = column.ColumnName.DeleteSpecChars(); if (dbStructure.Fields.Any(field => field.Name == columnName)) { tableRow.Values.Add(columnName, row[column.ColumnName]); } } foreach (NormalizeInfo childDirectory in dbStructure.ChildDirectories) { ITableRow tmpTableRow = null; long? childId = this.ProcessRowForWrite(row, childDirectory, out tmpTableRow, true); tableRow.Values.Add(childDirectory.GetAsFk(), childId); } if (writeToDb) { id = table.InsertOrUpdateRow(tableRow); } else { id = -1L; } return(id); }