Beispiel #1
0
        /// <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));
        }
Beispiel #2
0
 /// <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));
 }