2012-08-22 118 views
0

將數據保存到名爲Settings.sdf的數據庫時遇到問題。我有幾個文件:插入和更新不會更改數據庫(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(); 

如何解決這個問題?爲什麼這個命令不直接更新我的數據庫?

回答

0

你可以調整你的數據庫路徑,必須設置完整路徑:

  1. 調整有:

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

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

我已經竭盡所能,並沒有什麼作品:/ – Fka

+0

添加;在查詢結束 –

+0

我使用WPF,所以添加Windows.Forms引用是不好的。我無法使用Application.StartupPath。 ';'在查詢結尾不是必須的,但我試圖使用它,但仍然沒有。 – Fka

0

的改變maded在調試目錄中的SDF文件,但是當你再次運行自衛隊將再次創建,刪除始終是創建和測試再次

相關問題