>>>>private List<DbParameter> _CopyParameters(List<DbParameter> Parameters) >>>>{ >>>> List<DbParameter> RetVal = new List<DbParameter>(); >>>> >>>> foreach (DbParameter Param in Parameters) >>>> { >>>> DbParameter NewParam = _Factory.CreateParameter(); >>>> NewParam.ParameterName = Param.ParameterName; >>>> NewParam.Value = Param.Value; >>>> NewParam.Direction = Param.Direction; >>>> >>>> RetVal.Add(NewParam); >>>> >>>> Parameters.Remove(Param); >>>> >>>> } >>>> >>>> return RetVal; >>>>} >>>>>>>>
>>>>public int ExecuteNonQuery(string Command, List<DbParameter> Parameters, CommandType CommandType) >>>>{ >>>> int RetVal = 0; >>>> >>>> DbCommand cmd = _GetCommand(Command); >>>> >>>> try >>>> { >>>> RetVal = cmd.ExecuteNonQuery(); >>>> } >>>> catch (Exception e) >>>> { >>>> throw; >>>> } >>>> >>>> return RetVal; >>>>} >>>>>>>>
>>>>private DbCommand _GetCommand(string Command, List<DbParameter> Parameters, CommandType CmdType) >>>>{ >>>> _GetFactory(); >>>> _GetConnection(); >>>> >>>> DbCommand cmd = _Factory.CreateCommand(); >>>> cmd.CommandText = Command; >>>> cmd.Connection = _Connection; >>>> cmd.CommandType = CmdType; >>>> >>>> if (Parameters != null) >>>> { >>>> List<DbParameter> NewParams = _CopyParameters(Parameters); >>>> >>>> cmd.Parameters.Clear(); >>>> cmd.CommandType = CmdType; >>>> >>>> foreach (DbParameter p in NewParams) >>>> { >>>> cmd.Parameters.Add(p); >>>> } >>>> } >>>> >>>> return cmd; >>>>} >>>> >>>>>>>>
public int ExecuteNonQuery(List<SqlParameter> l) >>> { >>> SqlCommand sc = new SqlCommand(); >>> foreach (SqlParameter p in l){sc.Parameters.Add(p);} >>> int RetVal = sc.ExecuteNonQuery(); >>> foreach (SqlParameter p in l){sc.Parameters.Remove(p);} >>> return RetVal; >>> }>>
public int ExecuteNonQuery(List<SqlParameter> l) > { > SqlCommand sc = new SqlCommand(); > > foreach (SqlParameter p in l) > { > sc.Parameters.Add(new SqlParameter( > p.ParameterName, > p.SqlDbType, > p.Size, > p.Direction, > p.Precision, > p.Scale, > p.SourceColumn, > p.SourceVersion, > p.SourceColumnNullMapping, > p.Value, p.XmlSchemaCollectionDatabase, > p.XmlSchemaCollectionOwningSchema, > p.XmlSchemaCollectionName)); > } > return sc.ExecuteNonQuery(); > }This is essentially doing the same thing. For each param, create a new one with the same prop values, and assign it to the cmd. The