我使用SQL命令编写了一组代码,通过C#程序删除和更新Access记录。这是一组代码:
更新
OleDbCommand cmd = new OleDbCommand("UPDATE Available SET Status = 'AVAILABLE' WHERE AvailableID = ?", cnn);
cmd.Parameters.Add(new OleDbParameter { Value = id.AvailableID });
cmd.CommandType = CommandType.Text;
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
删除
OleDbCommand cmd = new OleDbCommand("DELETE FROM Log WHERE LogID = ?", cnn);
cmd.Parameters.Add(new OleDbParameter { Value = l.LogID });
cmd.CommandType = CommandType.Text;
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
该程序是可执行的。当我尝试删除和更新记录时,更新记录尚未更新,删除记录仍然存在。
按删除按钮将删除日志中的记录并将产品更新为“可用”。但是,状态没有改变,记录也没有删除。
我错过了什么吗?每次交易完成后我都会刷新。
答案 0 :(得分:1)
这很奇怪。以下是我的建议:
另外,我建议切换到ORM。动态SQL很难在大型项目中进行管理,因此即使项目很小,也最好能够熟悉它。如果您将应用程序移植到将来使用MSSQL数据库,它还会处理可能存在的任何语法差异。我个人推荐nHibernate。