[求助]SqlCommand是正忙的 异常
//主要代码如下 C#的 当执行一个存储过程 也就传递近来的arraylist集合里只一个值时候执行正确//当集合里是多个值 也就是相当于多次调用存储过程的时候会抛 sqlCommand是正忙的 open......这个异常
//成员变量
private SqlConnection objConn = null;
private SqlCommand objComm = null;
//此方法第一个参数是集合里面存放的存储过程要用的参数 第二个参数是存储过程名
//完成的任务是循环调用存储过程 循环给存储过程传参数 使用了事务处理
public void ManagerExec(ArrayList a,string proc)
{
SqlParameter objPara;
SqlTransaction objTran;
objConn = new SqlConnection(this.GetConnectionString());
objConn.Open();
objTran=objConn.BeginTransaction();
try
{
for(int i=0;i<a.Count;i++)
{
objComm = new SqlCommand(proc,objConn);
objComm.CommandType = CommandType.StoredProcedure;
objComm.Transaction=objTran;
objPara = objComm.Parameters.Add("@id",a[i]);
objComm.ExecuteReader();
}
objTran.Commit();
}
catch(Exception ex)
{
try
{
objTran.Rollback();
}
catch(SqlException e)
{
throw e;
}
throw ex;;
}
finally
{
if( objConn != null )
{
if( objConn.State != ConnectionState.Closed )
{
objConn.Close();
objConn.Dispose();
}
}
}
}
请高手赐教 不胜感激!!!!!