Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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
Asp.net 使用SqlParameterCollection.Clear方法有任何副作用吗?_Asp.net_Ado.net - Fatal编程技术网

Asp.net 使用SqlParameterCollection.Clear方法有任何副作用吗?

Asp.net 使用SqlParameterCollection.Clear方法有任何副作用吗?,asp.net,ado.net,Asp.net,Ado.net,我有这样一种特殊情况,在声明存储过程失败之前,我需要执行存储过程3次。为什么要检查3次,因为要检查较早开始的作业是否已完成。我将问一个单独的问题,以决定是否有更好的方法。但现在我要做的是 mysqlparametersArray do{ reader = MyStaticExecuteReader(query,mysqlparametersArray) Read() if(field(1)==true){ ret

我有这样一种特殊情况,在声明存储过程失败之前,我需要执行存储过程3次。为什么要检查3次,因为要检查较早开始的作业是否已完成。我将问一个单独的问题,以决定是否有更好的方法。但现在我要做的是

    mysqlparametersArray
    do{
        reader = MyStaticExecuteReader(query,mysqlparametersArray)
        Read()
        if(field(1)==true){
          return field(2);
        }
        else{
          //wait 1 sec
         }

    }while(field(1)==false);

MyStaticExecuteReader(query,mysqlparametersArray)
{
     //declare command
    //loop through mysqlparametersArray and add it to command
    //ExecuteReader
    return reader
}
现在我偶尔会犯这样的错误:

SqlParameter已包含在另一个 SqlParameterCollection

在进行了一些搜索之后,我找到了这个解决方法来清除参数集合,因此我做了以下操作:

MyStaticExecuteReader(query,mysqlparametersArray)
{
     //declare command
    //loop through mysqlparametersArray and add it to command Parameters Collection
    //ExecuteReader
    command.Parameters.Clear()
    return reader
}
现在我没有得到那个错误

问题:使用上面的.Clear()方法是否有副作用


注意:以上是一个示例伪代码。实际上,我在DAL类中的一个单独方法中执行reader并创建参数集合,其他人也在使用该方法。因此,我不确定在添加任何参数之前检查参数集合是否为空是一个好方法。

我使用此方法时没有遇到任何副作用。

除了开销或可能破坏其他共享代码外,清除参数没有问题