gpt4 book ai didi

c# - Access 更新语句在 C# 中不起作用

转载 作者:行者123 更新时间:2023-11-30 16:45:55 24 4
gpt4 key购买 nike

我快要发疯了,试图找出以下代码无法更新我的数据库的原因。我很感激任何帮助。
连接字符串是正确的,我能够执行类似的命令,只是这个命令由于某种原因无法正常工作。基本上我想要的是在我传递给方法的列中用“123”替换值“1”的出现。

        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);
}
}
}

最佳答案

Basically what I want is to replace occurrences of the value "1" with "123"

您的查询正好相反。

改变这个

"UPDATE [Reservations] SET [" + column + "] = @Column WHERE [" + column + "] = @ID"

"UPDATE [Reservations] SET [" + column + "] = @ID WHERE [" + column + "] = @Column"

这样做:

cmd.Parameters.AddWithValue("@Column", "123");
cmd.Parameters.AddWithValue("@ID", "1");

关于c# - Access 更新语句在 C# 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41236997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com