gpt4 book ai didi

c# - 无法使用 C# 手动更新包含文本字段的 mysql 数据库

转载 作者:行者123 更新时间:2023-11-30 01:31:47 24 4
gpt4 key购买 nike

我正在努力解决使用 Windows 窗体应用程序更新 MySQL 数据库的问题。代码如下所示:

global_data.MyDA.UpdateCommand = new MySqlCommand("UPDATE words SET word = @word WHERE id = @id", global_data.connection);
global_data.MyDA.UpdateCommand.Parameters.Add(
new MySqlParameter("@word", MySqlDbType.Text, 0x7FFF, ParameterDirection.Input, false,
0, 0, "word", DataRowVersion.Proposed, (object)edtWord.Text));
global_data.MyDA.UpdateCommand.Parameters.Add(
new MySqlParameter("@id", MySqlDbType.UInt32, 10, ParameterDirection.Input, false,
0, 0, "id", DataRowVersion.Proposed, (object)current_id));
global_data.MyDA.Update(table);

但是,它无法更新任何内容(在本例中 - 用 edtWord.Text 替换字符串值)。
有人可以帮忙吗?谢谢!

最佳答案

似乎您正在尝试使用表对象中的更改来更新后端数据库。这对于 DataAdapter 的 Update 方法以及当表绑定(bind)到某些更改其基础数据源的 UI 控件(例如 DataGridView)时很好。

但是如果您有一个简单的未绑定(bind)文本框并且想要更新数据库中的记录,正确的方法是定义一个命令并执行它

string cmdText = "UPDATE words SET word = @word WHERE id = @id";
using(MySqlConnection cn = new MySqlConnection(constring))
using(MySqlCommand cmd = new MySqlCommand(cmdText, cn))
{
cn.Open();
cmd.Parameters.AddWithValue("@word", edtWord.Text);
cmd.Parameters.AddWithValue("@id", current_id);
cmd.ExecuteNonQuery();
}

注意,为了可读性,我简化了参数语法,并不是暗示您的代码是错误的

关于c# - 无法使用 C# 手动更新包含文本字段的 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17361509/

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