gpt4 book ai didi

c# - MySQLConnector C# 更新MySqlCommand参数

转载 作者:行者123 更新时间:2023-11-29 11:23:23 25 4
gpt4 key购买 nike

我在 C# 中有一个 foreach 循环,它执行 MySql 命令来检查结果是否存在,问题是我不知道如何更新与 @id_line 对应的参数中的值,错误是在第二次迭代时抛出

foreach (String[] infos in ReferenceLine.getList())
{
cmd.Parameters.AddWithValue("@id_line", infos[0].ToString());
using (MySqlDataReader reader = cmd.ExecuteReader())
{
if (reader.HasRows) { return true; }
}
}

I thought of checking if the value exist and deleting it but I dont find this solution clean

谢谢

最佳答案

将参数的声明移到循环之外而不给出显式值,然后在循环内只需更新 Value 属性而不重新声明参数

cmd.Parameters.AddWithValue("@id_line", "");
foreach (String[] infos in ReferenceLine.getList())
{

cmd.Parameters["@id_line"].Value = infos[0].ToString();
using (MySqlDataReader reader = cmd.ExecuteReader())
{
if (reader.HasRows) { return true; }
}
}

但是,通过使用 WHERE 条件进行更精确的查询似乎可以完全避免此循环。

也考虑使用

 cmd.Parameters.Add("@id_line", MySqlDbType.VarChar);

而不是 AddWithValue。添加值 has some drawbacks建议限制其使用。

关于c# - MySQLConnector C# 更新MySqlCommand参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38590989/

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