gpt4 book ai didi

c# - 为什么使用 AddWithValue + 参数 ["@somevar"].Value 而不是仅使用 AddWithValue? (MySql + C#)

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

http://dev.mysql.com/doc/refman/5.5/en/connector-net-programming-prepared.html 的示例代码中,有代码(每次执行:迭代中的cmd.ExecuteNonQuery()):

try
{
conn.Open();
cmd.Connection = conn;

cmd.CommandText = "INSERT INTO myTable VALUES(NULL, @number, @text)";
cmd.Prepare();

cmd.Parameters.AddWithValue("@number", 1);
cmd.Parameters.AddWithValue("@text", "One");

for (int i=1; i <= 1000; i++)
{
cmd.Parameters["@number"].Value = i;
cmd.Parameters["@text"].Value = "A string value";
cmd.ExecuteNonQuery();
}

}

为什么不这样做(迭代后执行1次:cmd.ExecuteNonQuery()):

 try
{
conn.Open();
cmd.Connection = conn;
cmd.CommandText = "INSERT INTO myTable VALUES(NULL, @number, @text)";
cmd.Prepare();
for (int i=1; i <= 1000; i++)
{
cmd.Parameters.AddWithValue("@number", i);
cmd.Parameters.AddWithValue("@text", "One");
}
cmd.ExecuteNonQuery();
}

最佳答案

您的代码示例不正确; cmd.ExecuteNonQuery(); 实际上在循环内部。

这会使用不同的参数执行查询 1,000 次,而无需重新创建命令。

关于c# - 为什么使用 AddWithValue + 参数 ["@somevar"].Value 而不是仅使用 AddWithValue? (MySql + C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12735791/

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