1

私は.mdbデータベースを持っており、次のようなコードを使用しています。

using (OleDbConnection connection = new OleDbConnection(myConnectionString))
{
    using (OleDbCommand cmd = connection.CreateCommand())
    {
        cmd.CommandText = "UPDATE myTab SET col2 = @val1 WHERE col1 = @val2";
        cmd.Parameters.AddWithValue("@val1", 0);
        cmd.Parameters.AddWithValue("@val2", -1);
        cmd.Connection.Open();
        cmd.ExecuteNonQuery();
        cmd.Connection.Close();
     }
}

dbからデータを取得し、GUIプログラムで変更して、dbに保存します。変更は保存されますが、dbには保存されません(どこにあるかわかりません)。したがって、プログラムを実行し、データを変更し、プログラムを閉じてから再度実行すると、変更は残りますが、db(programmではない)を開いても変更はありません。保存してから再度実行します-すべての変更が消えます。
PS:変更をコミットしてからプログラムを数回実行すると、(3〜4回の実行)後にすべての変更も消えます

4

2 に答える 2

6

VSにプロジェクトルートを追加するとき.mdb、構造を変更するとき、VSデフォルト.mdbはデバッグフォルダ内のファイルを削除し、新しいファイルを置き換えます。今、あなたはこのdefultを変更することができます:

1-.mdbファイルを右クリックしてオプションを選択します

2-にCopy To Output Directory設定Do Not Copy

于 2012-10-22T15:35:13.860 に答える
1

更新ステートメントのWHERE句が、更新するレコードを見つけていない可能性があります。

http://weblogs.asp.net/stevewellens/archive/2009/10/16/why-sql-updates-fail-three-reasons.aspx

于 2012-10-22T13:55:49.733 に答える