Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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# for循环中的sql_C#_.net_Sql_Wpf - Fatal编程技术网

C# for循环中的sql

C# for循环中的sql,c#,.net,sql,wpf,C#,.net,Sql,Wpf,可能重复: 我试图在配置表中写入,首先读取id并递增它,然后写入所有其他内容。但当添加第二个条目时,会出现异常 变量名@id已经声明。变量名 在查询批处理或存储过程中必须是唯一的 如何避免此异常?目前,第一个查询中的参数与第二个查询中的参数冲突。每次执行时使用新命令 现在,第一个查询中的参数与第二个查询中的参数冲突。每次执行时使用新命令 您多次将@id和所有其他参数添加到参数集合中。您需要先清除集合,然后添加新记录 您应该能够使用clear方法 您多次将@id和所有其他参数添加到参数集合中。您

可能重复:

我试图在配置表中写入,首先读取id并递增它,然后写入所有其他内容。但当添加第二个条目时,会出现异常

变量名@id已经声明。变量名 在查询批处理或存储过程中必须是唯一的


如何避免此异常?目前,第一个查询中的参数与第二个查询中的参数冲突。每次执行时使用新命令

现在,第一个查询中的参数与第二个查询中的参数冲突。每次执行时使用新命令

您多次将@id和所有其他参数添加到参数集合中。您需要先清除集合,然后添加新记录

您应该能够使用clear方法


您多次将@id和所有其他参数添加到参数集合中。您需要先清除集合,然后添加新记录

您应该能够使用clear方法


您需要在循环的每次迭代中清除命令参数

command.CommandText = "INSERT INTO Configuration (id,A, B, C, D, E, F,G) VALUES (@id, @a, @b , @c, @d, @e, @f, @g)";

command.Parameters.Clear();
command.Parameters.AddWithValue("@id", currId);

您需要在循环的每次迭代中清除命令参数

command.CommandText = "INSERT INTO Configuration (id,A, B, C, D, E, F,G) VALUES (@id, @a, @b , @c, @d, @e, @f, @g)";

command.Parameters.Clear();
command.Parameters.AddWithValue("@id", currId);

如果每次都添加相同的参数,那么它总是会给您一个异常

在for循环之前声明变量,并给它们一些默认值,如:

command.Parameters.AddWithValue("@id", 1);
command.Parameters.AddWithValue("@a", "");
command.Parameters.AddWithValue("@b", "");
command.Parameters.AddWithValue("@c", "");
command.Parameters.AddWithValue("@d", "");
command.Parameters.AddWithValue("@e", "");
command.Parameters.AddWithValue("@f", 1);
command.Parameters.AddWithValue("@g", 1);
然后更改command.CommandText=插入配置id后的参数值,A、B、C、D、E、F、G值为@id、@A、@B、@C、@D、@E、@F、@G;像


如果每次都添加相同的参数,那么它总是会给您一个异常

在for循环之前声明变量,并给它们一些默认值,如:

command.Parameters.AddWithValue("@id", 1);
command.Parameters.AddWithValue("@a", "");
command.Parameters.AddWithValue("@b", "");
command.Parameters.AddWithValue("@c", "");
command.Parameters.AddWithValue("@d", "");
command.Parameters.AddWithValue("@e", "");
command.Parameters.AddWithValue("@f", 1);
command.Parameters.AddWithValue("@g", 1);
然后更改command.CommandText=插入配置id后的参数值,A、B、C、D、E、F、G值为@id、@A、@B、@C、@D、@E、@F、@G;像


我大约84%确信,一旦你设置了CommandText一次,你就不需要再设置它了;您可以继续使用具有不同参数的语句。您可能需要有两条语句,并在循环外部设置它们,以确保它们不会每次都被重新编译。这不是什么大不了的事,但你不妨利用事先准备好的陈述带来的好处我大约84%确信,一旦你设置了CommandText一次,你就不需要再设置它了;您可以继续使用具有不同参数的语句。您可能需要有两条语句,并在循环外部设置它们,以确保它们不会每次都被重新编译。这不是什么大不了的事,但你不妨利用事先准备好的陈述带来的好处较小的ans简单解较小的ans简单解
cmd.Parameters["@id"].Value=currId;
cmd.Parameters["@a"].Value=myL;
cmd.Parameters["@b"].Value=pipi;
cmd.Parameters["@c"].Value=temp4[i].ad;
cmd.Parameters["@d"].Value=temp4[i].asa;
cmd.Parameters["@e"].Value=temp4[i].Tasa;
cmd.Parameters["@f"].Value=j;
cmd.Parameters["@g"].Value=1;