Пример #1
0
        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));
            }
        }
Пример #2
0
        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));
            }
        }