我有.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次运行)
答案 0 :(得分:6)
当我们在VS中的项目根目录中添加.mdb
时,在更改结构时,VS默认删除调试文件夹中的.mdb
文件并替换新文件;现在你可以改变这种侮辱:
1-右键单击.mdb
文件并选择选项
2-设置Copy To Output Directory
到Do Not Copy
答案 1 :(得分:1)
更新语句的WHERE子句很可能不会找到要更新的任何记录。
http://weblogs.asp.net/stevewellens/archive/2009/10/16/why-sql-updates-fail-three-reasons.aspx