为什么要使用AddWithValue+;参数[";@somevar";].Value,而不是只使用AddWithValue?(MySql+;C#)
在的示例代码中,有以下代码(每次执行:为什么要使用AddWithValue+;参数[";@somevar";].Value,而不是只使用AddWithValue?(MySql+;C#),c#,mysql,C#,Mysql,在的示例代码中,有以下代码(每次执行:cmd.ExecuteNonQuery()In iteration): 您的代码示例不正确;cmd.ExecuteNonQuery()实际上在循环中 这将使用不同的参数执行1000次查询,而不重新创建命令。@HenkHolterman-我想Yosef是在问为什么在块内使用cmd.parameters[“@number”].Value而不是cmd.parameters.AddWithValue(“@number”,I))。至少,我对此进行了编辑。 try {
cmd.ExecuteNonQuery()
In iteration):
您的代码示例不正确;
cmd.ExecuteNonQuery()代码>实际上在循环中
这将使用不同的参数执行1000次查询,而不重新创建命令。@HenkHolterman-我想Yosef是在问为什么在块内使用cmd.parameters[“@number”].Value
而不是cmd.parameters.AddWithValue(“@number”,I))代码>。至少,我对此进行了编辑。
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();
}
}
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();
}