0

という名前のデータベースへのデータの保存に問題がありますSettings.sdf。私はいくつかのファイルを持っています:

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

UPDATE使用またはクエリを試みた場合INSERT 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();

この問題をどのように管理しますか? このコマンドがデータベースを直接更新しないのはなぜですか?

4

2 に答える 2

1

データベース パスを調整できます。フル パスを設定する必要があります。

  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))
{
...
}
于 2012-08-22T12:03:19.020 に答える
0

変更はデバッグ ディレクトリの sdf ファイルで行われますが、再度実行すると、sdf が再度作成されます。常に作成を削除して、再度テストしてください。

于 2012-08-22T12:52:48.490 に答える