C# Sql-在循环中设置相同的参数值
我需要声明一次参数,然后在插入查询中多次使用它,如:C# Sql-在循环中设置相同的参数值,c#,sql,loops,parameters,C#,Sql,Loops,Parameters,我需要声明一次参数,然后在插入查询中多次使用它,如: SqlCommand mainCMD = new SqlCommand("", conn); for (int i = 0; i < 5; i++) { mainCMD.CommandText += "INSERT INTO Country (name) VALUES (@cntr)"; mainCMD.Parameters.AddWithValue("@cntr", "Country" + i); } mainCMD.
SqlCommand mainCMD = new SqlCommand("", conn);
for (int i = 0; i < 5; i++)
{
mainCMD.CommandText += "INSERT INTO Country (name) VALUES (@cntr)";
mainCMD.Parameters.AddWithValue("@cntr", "Country" + i);
}
mainCMD.ExecuteNonQuery();
SqlCommand mainCMD=newsqlcommand(“,conn”);
对于(int i=0;i<5;i++)
{
mainCMD.CommandText+=“插入国家(名称)值(@cntr)”;
mainCMD.Parameters.AddWithValue(“@cntr”,“Country”+i);
}
mainCMD.ExecuteNonQuery();
我该怎么做?您应该更改参数的名称
SqlCommand mainCMD = new SqlCommand("", conn);
for (int i = 0; i < 5; i++)
{
mainCMD.CommandText +=
String.Format(" INSERT INTO Country (name) VALUES (@cntr{0})", i);
mainCMD.Parameters.AddWithValue("@cntr" + i, "Country" + i);
}
SqlCommand mainCMD=newsqlcommand(“,conn”);
对于(int i=0;i<5;i++)
{
mainCMD.CommandText+=
格式(“插入国家(名称)值(@cntr{0})”,i);
mainCMD.Parameters.AddWithValue(“@cntr”+i,“国家”+i);
}
另外,单独构建命令文本将更有效:
int countriesCount = 5;
StringBuilder builder = new StringBuilder();
for(int i = 0; i < countriesCount; i++)
builder.AppendFormat("INSERT INTO Country (name) VALUES (@cntr{0}) ", i);
var cmd = new SqlCommand(builder.ToString(), conn);
for (int i = 0; i < countriesCount; i++)
cmd.Parameters.AddWithValue("@cntr" + i, "Country" + i);
int countriescont=5;
StringBuilder=新的StringBuilder();
for(int i=0;i
您应该更改参数的名称
SqlCommand mainCMD = new SqlCommand("", conn);
for (int i = 0; i < 5; i++)
{
mainCMD.CommandText +=
String.Format(" INSERT INTO Country (name) VALUES (@cntr{0})", i);
mainCMD.Parameters.AddWithValue("@cntr" + i, "Country" + i);
}
SqlCommand mainCMD=newsqlcommand(“,conn”);
对于(int i=0;i<5;i++)
{
mainCMD.CommandText+=
格式(“插入国家(名称)值(@cntr{0})”,i);
mainCMD.Parameters.AddWithValue(“@cntr”+i,“国家”+i);
}
另外,单独构建命令文本将更有效:
int countriesCount = 5;
StringBuilder builder = new StringBuilder();
for(int i = 0; i < countriesCount; i++)
builder.AppendFormat("INSERT INTO Country (name) VALUES (@cntr{0}) ", i);
var cmd = new SqlCommand(builder.ToString(), conn);
for (int i = 0; i < countriesCount; i++)
cmd.Parameters.AddWithValue("@cntr" + i, "Country" + i);
int countriescont=5;
StringBuilder=新的StringBuilder();
for(int i=0;i
构建一次命令和参数,然后只需更改循环中的参数值
SqlCommand mainCMD = new SqlCommand( " INSERT INTO Country (name) VALUES (@parmCountry)", conn);
// just to prime the parameter with proper data type string expectation
mainCMD.Parameters.AddWithValue("@parmCountry", "test country");
for (int i = 0; i < 5; i++)
{
// change ONLY the parameter, then execute it
mainCMD.Parameters[0].Value = "Country" + i.ToString();
mainCMD.ExecuteNonQuery();
}
SqlCommand mainCMD=new-SqlCommand(“插入国家(名称)值(@parmCountry)”,康涅狄格州);
//只需使用正确的数据类型字符串期望值初始化参数
mainCMD.Parameters.AddWithValue(“@parmCountry”,“测试国家”);
对于(int i=0;i<5;i++)
{
//只更改参数,然后执行它
mainCMD.Parameters[0].Value=“Country”+i.ToString();
mainCMD.ExecuteNonQuery();
}
构建一次命令和参数,然后只需更改循环中的参数值
SqlCommand mainCMD = new SqlCommand( " INSERT INTO Country (name) VALUES (@parmCountry)", conn);
// just to prime the parameter with proper data type string expectation
mainCMD.Parameters.AddWithValue("@parmCountry", "test country");
for (int i = 0; i < 5; i++)
{
// change ONLY the parameter, then execute it
mainCMD.Parameters[0].Value = "Country" + i.ToString();
mainCMD.ExecuteNonQuery();
}
SqlCommand mainCMD=new-SqlCommand(“插入国家(名称)值(@parmCountry)”,康涅狄格州);
//只需使用正确的数据类型字符串期望值初始化参数
mainCMD.Parameters.AddWithValue(“@parmCountry”,“测试国家”);
对于(int i=0;i<5;i++)
{
//只更改参数,然后执行它
mainCMD.Parameters[0].Value=“Country”+i.ToString();
mainCMD.ExecuteNonQuery();
}
只需在循环结束时使用mainCMD.Parameters.clear()
SqlCommand mainCMD = new SqlCommand("", conn);
for (int i = 0; i < 5; i++)
{
mainCMD.CommandText += "INSERT INTO Country (name) VALUES (@cntr)";
mainCMD.Parameters.AddWithValue("@cntr", "Country" + i);
mainCMD.ExecuteNonQuery();
mainCMD.Parameters.clear();
}
SqlCommand mainCMD=newsqlcommand(“,conn”);
对于(int i=0;i<5;i++)
{
mainCMD.CommandText+=“插入国家(名称)值(@cntr)”;
mainCMD.Parameters.AddWithValue(“@cntr”,“Country”+i);
mainCMD.ExecuteNonQuery();
mainCMD.Parameters.clear();
}
只需在循环结束时使用mainCMD.Parameters.clear()
SqlCommand mainCMD = new SqlCommand("", conn);
for (int i = 0; i < 5; i++)
{
mainCMD.CommandText += "INSERT INTO Country (name) VALUES (@cntr)";
mainCMD.Parameters.AddWithValue("@cntr", "Country" + i);
mainCMD.ExecuteNonQuery();
mainCMD.Parameters.clear();
}
SqlCommand mainCMD=newsqlcommand(“,conn”);
对于(int i=0;i<5;i++)
{
mainCMD.CommandText+=“插入国家(名称)值(@cntr)”;
mainCMD.Parameters.AddWithValue(“@cntr”,“Country”+i);
mainCMD.ExecuteNonQuery();
mainCMD.Parameters.clear();
}
看起来你做错了很多事情。首先,您将mainCMD.CommandText
5次添加到自身中。是的,这只是一个不起作用的示例-只是想展示我想要达到的效果。看起来您做了很多错事。首先,您将mainCMD.CommandText
5次添加到自身中。是的,这只是一个不起作用的示例-只是想展示我想要达到的效果。谢谢,我将尝试这个示例。我喜欢第二个示例,我可能只使用一个用于循环思维谢谢,我将尝试这个示例。我喜欢第二个示例,但我可能只使用一个用于循环