public int EjecutarInsert(string insertQuery, Dictionary <String, Object> parametros) { try { if (conexion == null || conexion.State == ConnectionState.Closed) { throw new Exception("Debe Abrir la conexión antes."); } String query = Estructura.ConvertirParametrosParaQuery(insertQuery, parametros); List <String> parametrosQ = Estructura.ObtenerListaParametros(query); OracleCommand comando = conexion.CreateCommand(); comando.CommandText = query; comando.Transaction = transaccion; comando.CommandTimeout = commandTimeout; //se asignan los parametros foreach (String parametro in parametrosQ) { if (parametros.ContainsKey(parametro)) { comando.Parameters.Add(new OracleParameter(parametro, parametros[parametro])); } } int registrosAfectados = 0; try { registrosAfectados = comando.ExecuteNonQuery(); comando.Dispose(); } catch (Exception ex) { throw ex; } return(registrosAfectados); } catch (Exception ex) { throw new Exception(ConcatenarException(ex)); } }
public DataTable EjecutarSelect(string selectQuery, Dictionary <String, Object> parametros) { try { if (conexion == null || conexion.State == ConnectionState.Closed) { throw new Exception("Debe Abrir la conexión antes."); } String query = Estructura.ConvertirParametrosParaQuery(selectQuery, parametros); List <String> parametrosQ = Estructura.ObtenerListaParametros(query); OracleCommand comando = conexion.CreateCommand(); comando.CommandText = query; comando.Transaction = transaccion; comando.CommandTimeout = commandTimeout; //se asignan los parametros foreach (String parametro in parametrosQ) { if (parametros.ContainsKey(parametro)) { comando.Parameters.Add(new OracleParameter(parametro, parametros[parametro])); } } DataTable dt = new DataTable(); OracleDataReader dr = null; try { dr = comando.ExecuteReader(); using (DataSet ds = new DataSet() { EnforceConstraints = false }) { ds.Tables.Add(dt); dt.Load(dr, LoadOption.OverwriteChanges); ds.Tables.Remove(dt); } dr.Close(); comando.Dispose(); dr.Dispose(); } catch (Exception ex) { throw ex; } return(dt); } catch (Exception ex) { throw new Exception(ConcatenarException(ex)); } }