示例#1
0
        /// <summary>
        /// Gets and returns a list of all entries stored on database.
        /// </summary>
        /// <returns>THe list of newly formed HistoryEntry objects with the stored data.</returns>
        public List <HistoryEntry> GetEntries()
        {
            string selectValues         = "SELECT * FROM " + TableName + ";";
            List <HistoryEntry> entries = new List <HistoryEntry>();

            using (SqliteConnection database = new SqliteConnection($"Filename={DatabasePath}"))
            {
                database.Open();

                SqliteDataReader rows = new SqliteCommand(selectValues, database).ExecuteReader();
                while (rows.Read())
                {
                    string rawEntryData = rows.GetString(0) + "," +
                                          rows.GetString(1) + "," +
                                          rows.GetString(2) + "," +
                                          rows.GetString(3) + "," +
                                          rows.GetString(4) + "," +
                                          rows.GetString(5) + "," +
                                          rows.GetString(6);
                    HistoryEntry entry = HistoryEntry.OfRaw(rawEntryData);
                    entry.Id = long.Parse(rows.GetString(0));
                    entries.Add(entry);
                }

                database.Close();
            }

            return(entries);
        }
示例#2
0
        /// <summary>
        /// Gets the latest entry stored on database.
        /// </summary>
        /// <returns>The latest entry on databse or null if there's no entry.</returns>
        private HistoryEntry GetLatestEntry()
        {
            string selectLastValue = "SELECT * FROM " + TableName + " WHERE id = (SELECT MAX(id) FROM " + TableName + ")";

            using (SqliteConnection database = new SqliteConnection($"Filename={DatabasePath}"))
            {
                database.Open();

                SqliteDataReader row = new SqliteCommand(selectLastValue, database).ExecuteReader();
                if (!row.HasRows)
                {
                    return(null);
                }
                else
                {
                    string rawData = "";
                    while (row.Read())
                    {
                        rawData = row.GetString(0) + "," +
                                  row.GetString(1) + "," +
                                  row.GetString(2) + "," +
                                  row.GetString(3) + "," +
                                  row.GetString(4) + "," +
                                  row.GetString(5) + "," +
                                  row.GetString(6);
                    }
                    return(HistoryEntry.OfRaw(rawData));
                }
            }
        }