Asp.net 使用SqlParameterCollection.Clear方法有任何副作用吗?
我有这样一种特殊情况,在声明存储过程失败之前,我需要执行存储过程3次。为什么要检查3次,因为要检查较早开始的作业是否已完成。我将问一个单独的问题,以决定是否有更好的方法。但现在我要做的是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
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并创建参数集合,其他人也在使用该方法。因此,我不确定在添加任何参数之前检查参数集合是否为空是一个好方法。我使用此方法时没有遇到任何副作用。除了开销或可能破坏其他共享代码外,清除参数没有问题