插入和更新不会更改数据库(sdf)

时间:2012-08-22 11:08:33

标签: c# database sql-server-ce

我将数据保存到名为Settings.sdf的数据库时遇到问题。我的文件很少:

- Settings.sdf
- SettingsDataSet.xsd
 - SettingsDataSet.Designer.cs
 - SettingsDataSet.xsc
 - SettingsDataSet.xss

如果我尝试使用UPDATEINSERT INTO查询,我就不会更新我的数据库(Settings.sdf),只更改缓存文件中的数据(无论何时何地)。我正确使用了所有SqlCeCommands。例如:

string conString = "Data Source=Settings.sdf";
con = new SqlCeConnection(conString);
con.Open();
...
using (SqlCeCommand com = new SqlCeCommand("UPDATE Settings SET [Value] = (@loc) WHERE [Key] = 'Location'", con))
{
    com.Parameters.AddWithValue("@loc", device.Location);
    com.ExecuteNonQuery();
}
...
con.Close();

如何解决这个问题?为什么这个命令不直接更新我的数据库?

2 个答案:

答案 0 :(得分:1)

您可以调整数据库路径,必须设置完整路径:

  1. 调整:

    string conString = "Data Source=" + Path.Combine(Your full path,"Settings.sdf");`
    
  2. 在查询末尾添加;

  3. using (SqlCeCommand com = new SqlCeCommand("UPDATE Settings SET [Value] = (@loc) WHERE [Key] = 'Location';", con))
    {
    ...
    }
    

答案 1 :(得分:0)

在调试目录中的sdf文件中所做的更改,但是当您再次运行时,将再次创建sdf,删除create always并再次测试