Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Sql-在循环中设置相同的参数值_C#_Sql_Loops_Parameters - Fatal编程技术网

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次添加到自身中。是的,这只是一个不起作用的示例-只是想展示我想要达到的效果。谢谢,我将尝试这个示例。我喜欢第二个示例,我可能只使用一个用于循环思维谢谢,我将尝试这个示例。我喜欢第二个示例,但我可能只使用一个用于循环