public void UpdateProgress(QuestProgressData rpProgress)
 {
     using (var rCommand = Connection.CreateCommand())
     {
         rCommand.CommandText = "INSERT OR IGNORE INTO quest(id) VALUES (@id);" +
             "UPDATE quest SET progress = @progress WHERE id = @id;" +
             "UPDATE quest SET update_time = strftime('%s', 'now') WHERE id = @id;";
         rCommand.Parameters.Add(new SQLiteParameter("@id", rpProgress.ID));
         rCommand.Parameters.Add(new SQLiteParameter("@progress", rpProgress.Current));
         rCommand.ExecuteNonQuery();
     }
 }
 public void UpdateStatus(QuestProgressData rpProgress)
 {
     using (var rCommand = Connection.CreateCommand())
     {
         rCommand.CommandText = "INSERT OR IGNORE INTO quest(id) VALUES (@id);" +
             "UPDATE quest SET state = @state WHERE id = @id;" +
             "UPDATE quest SET progress = @startfrom WHERE id = @id AND state = 3;";
         rCommand.Parameters.Add(new SQLiteParameter("@id", rpProgress.ID));
         rCommand.Parameters.Add(new SQLiteParameter("@state", (int)rpProgress.State));
         rCommand.Parameters.Add(new SQLiteParameter("@startfrom", (int)rpProgress.StartFrom));
         rCommand.ExecuteNonQuery();
     }
 }