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(不在程序中)时,没有任何更改保存,然后再次运行 - 所有更改都消失了。
PS:当我提交更改,然后多次运行程序时,所有更改也消失了,之后(3-4次运行)

4

2 回答 2

6

当我们.mdb在VS中添加项目根目录时,改变结构时,VS默认删除.mdb调试文件夹中的文件并替换新文件;现在您可以更改此默认值:

1-右键单击.mdb文件并选择选项

2-设置Copy To Output DirectoryDo 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 回答