【发布时间】:2016-12-20 07:33:32
【问题描述】:
我正在疯狂地试图找出以下代码不会更新我的数据库的原因。感谢您的帮助。
连接字符串是正确的,我可以执行类似的命令,只是这个由于某种原因不起作用。基本上我想要的是在我传递给该方法的列中将值“1”替换为“123”。
public void removeExpired2(string column, string user)
{
string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\DB.accdb";
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
OleDbCommand cmd = new OleDbCommand("UPDATE [Reservations] SET [" + column + "] = @Column WHERE [" + column + "] = @ID");
cmd.CommandType = CommandType.Text;
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@Column", "123");
cmd.Parameters.AddWithValue("@ID", "1");
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
ScriptManager.RegisterClientScriptBlock(Button1, this.GetType(), "AlertMsg", "<script language='javascript'>alert('" + ex.Message.ToString() + "');</script>", false);
}
}
}
【问题讨论】:
-
但是您将
123替换为1 -
我在更改此处的值以便更容易解释时犯了这个错误,但在我的代码中问题仍然存在。除了相反的值之外,语句本身有什么问题吗?
-
你检查
cmd.ExecuteNonQuery()的返回值了吗?