public StoredProcParameter[] Execute(ref DataSet ds, string strSpName, StoredProcParameter[] _arrParams,TransactionEx tran) { StoredProcParameter[] _arrOutParams = null; using (TransactionHolder tranHolder = new TransactionHolder(tran)) { using (SqlCommand sqlCmd = new SqlCommand(strSpName, tranHolder.Connection, tranHolder.SqlTransaction)) { sqlCmd.CommandType = CommandType.StoredProcedure; // set command time-out to 15 minites sqlCmd.CommandTimeout = _nStoredProcTimeout; // prepare command parameters PrepareStoredProcedureParams(strSpName, sqlCmd, _arrParams); using (SqlDataAdapter da = new SqlDataAdapter(sqlCmd)) { string strTableName = strSpName; da.Fill(ds, strTableName); } tranHolder.Commit(); _arrOutParams = TransformParams(sqlCmd.Parameters); } } return _arrOutParams; }Connection is already open at that moment, and created with first access to TransactionHolder.Connection property:
get { return new SqlConnection(strDBConnectionString); }Thank you,