Pourquoi enregistrer les modifications apportées à une base de données échoue?

J'ai suivantes de code C# dans une application console.

Chaque fois que je le débogage de l'application et de lancer la requête1 (qui insère une nouvelle valeur dans la base de données), puis exécutez query2 (qui affiche toutes les entrées dans la base de données), je peux voir la nouvelle entrée, j'ai inséré clairement. Cependant, lorsque je ferme l'application et de vérification de la table dans la base de données dans Visual Studio), il est parti. Je n'ai aucune idée de pourquoi c'est pas l'économie.

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlServerCe;
using System.Data;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
try
{
string fileName = "FlowerShop.sdf";
string fileLocation = "|DataDirectory|\\";
DatabaseAccess dbAccess = new DatabaseAccess();
dbAccess.Connect(fileName, fileLocation);
Console.WriteLine("Connected to the following database:\n"+fileLocation + fileName+"\n");
string query = "Insert into Products(Name, UnitPrice, UnitsInStock) values('NewItem', 500, 90)";
string res = dbAccess.ExecuteQuery(query);
Console.WriteLine(res);
string query2 = "Select * from Products";
string res2 = dbAccess.QueryData(query2);
Console.WriteLine(res2);
Console.ReadLine();
}
catch (Exception e)
{
Console.WriteLine(e);
Console.ReadLine();
}
}
}
class DatabaseAccess
{
private SqlCeConnection _connection;
public void Connect(string fileName, string fileLocation)
{
Connect(@"Data Source=" + fileLocation + fileName);
}
public void Connect(string connectionString)
{
_connection = new SqlCeConnection(connectionString);
}
public string QueryData(string query)
{
_connection.Open();
using (SqlCeDataAdapter da = new SqlCeDataAdapter(query, _connection))
using (DataSet ds = new DataSet("Data Set"))
{
da.Fill(ds);
_connection.Close();
return ds.Tables[0].ToReadableString(); //a extension method I created
}
}
public string ExecuteQuery(string query)
{
_connection.Open();
using (SqlCeCommand c = new SqlCeCommand(query, _connection))
{
int r = c.ExecuteNonQuery();
_connection.Close();
return r.ToString();
}
} 
}

EDIT: j'ai Oublié de mentionner que je suis à l'aide de SQL Server Compact Edition 4 et VS2012 Express.

Faites-vous de l'appareil de débogage ou de l'émulateur?
bouton de débogage dans visual studio (celui qui ressemble à un bouton de lecture) @kostasch.
Désolé, je pensais que vous déboguez une application mobile. Je pense que je me souviens d'un bouton de débogage ressemble :).
Votre insert est sur votre base de données et sélectionnez est sur les Produits. Est ir par copier coller erreur?
Copier coller erreur . fixe. merci pour la mention.

OriginalL'auteur Joe Slater | 2013-06-17