/// <summary>Convert a SQLite table to a string.</summary> public static string TableToString(IDatabaseConnection database, string tableName, IEnumerable <string> fieldNames = null) { string sql = "SELECT "; if (fieldNames == null) { sql += "*"; } else { bool first = true; foreach (string fieldName in fieldNames) { if (first) { first = false; } else { sql += ","; } sql += fieldName; } } sql += " FROM [" + tableName + "]"; var orderByFieldNames = new List <string>(); if (database.GetColumnNames(tableName).Contains("CheckpointID")) { orderByFieldNames.Add("[CheckpointID]"); } if (database.GetColumnNames(tableName).Contains("SimulationID")) { orderByFieldNames.Add("[SimulationID]"); } if (database.GetColumnNames(tableName).Contains("Clock.Today")) { orderByFieldNames.Add("[Clock.Today]"); } if (orderByFieldNames.Count > 0) { sql += " ORDER BY " + StringUtilities.BuildString(orderByFieldNames.ToArray(), ","); } DataTable data = database.ExecuteQuery(sql); return(TableToString(data)); }
/// <summary>Return a list of column names for a table. Never returns null.</summary> /// <param name="tableName">The table name to return column names for.</param> /// <returns>Can return an empty list but never null.</returns> public List <string> ColumnNames(string tableName) { return(connection.GetColumnNames(tableName)); }