C# SQL Server Compact无法插入

C# SQL Server Compact无法插入,c#,sql,sql-server-ce,C#,Sql,Sql Server Ce,我正在尝试运行这个简单的查询。查询不会因错误而失败,而是显示为成功执行。但是,刷新数据库时,插入未发生。 它连接良好,并返回它已影响一行 下面的错误在哪里 using(SqlCeConnection Con = new SqlCeConnection(Properties.Settings.Default.dbConnectionString)) { Con.Open(); SqlCeCommand Query = new SqlCeCommand("INSERT INTO

我正在尝试运行这个简单的查询。查询不会因错误而失败,而是显示为成功执行。但是,刷新数据库时,插入未发生。 它连接良好,并返回它已影响一行

下面的错误在哪里

using(SqlCeConnection Con = new SqlCeConnection(Properties.Settings.Default.dbConnectionString))
{ 
    Con.Open(); 
    SqlCeCommand Query = new SqlCeCommand("INSERT INTO DataTable2(num) VALUES(5)",Con); 

    try
    {
        Query.ExecuteNonQuery();
        MessageBox.Show(Query.ExecuteNonQuery().ToString());
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

使用替换字符串
DataDirectory
时,应该记住它解析到不同的位置。WEB应用程序的应用程序数据,
BIN\DEBUG
用于WinForms应用程序


更新的数据库就是该目录中的数据库,可能您正在查看错误的数据库。检查服务器资源管理器或Sql Server Compact工具箱中使用的连接是否指向实际更新的数据库,而不是指向项目文件夹中的数据库。

尝试将该命令与事务关联,然后提交该事务。我相信我在使用SqlCe时必须这样做,但是已经有一段时间了,所以我不确定。您正在运行INSERT语句两次,您知道这一点吗?您的连接字符串是什么样子的?连接字符串是什么?你说刷新数据库是什么意思?是的,我很快意识到它的运行时间是计划运行时间的两倍(I)当我让它向消息框报告时。刷新是指在Visual Studio 2013的数据库资源管理器中的表上重新运行SELECT*。连接字符串为-Data Source=|DataDirectory |\db.sdf。我知道这是可行的,如果我把表名改成一个不存在的表,它会报告一个错误。太好了,现在这看起来很明显。在VS中刷新数据库是指刷新一个数据库,该数据库未被测试程序时执行的查询修改。如果在项目文件之间列出了数据库,请同时检查“复制到输出目录”属性,以避免使用项目文件夹中的空数据库覆盖工作数据库