Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: cyberserver en 23 Diciembre 2010, 23:36 pm



Título: Clase ODP.net Oracle Data Provider C#
Publicado por: cyberserver en 23 Diciembre 2010, 23:36 pm
Hola amigos. para los que les interese les comparto una clase muy sencilla para la conexión a una Base de Datos Oracle con Oracle Data Provider,(Ado.net)

Manual para Usar la Clase (BasDatODP)

Esta Clase usa a Oracle Data Provider, que es un componente que utiliza el estar de ADO.net
TODAS LAS ESPECIFICACIONES DE PARAMETROS Y DE RETORNO DE METODOS ESTAN DESCRITAS EN CLASE BasDatODP COMO COMENTARIOS.
Esta clase es exclusivamente para usarce en la conexión de Base De Datos de Oracle 10g con C#,
Para su uso es necesario contar con:
•   C# Instalado.
•   Oracle instalado en el equipo.
•   En caso de que no se cuente con oracle es necesario instalar Las librerias de OracleDataProvider, las cuales puedes descargar de la pagina oficial de Oracle.

La clase Esta Formada por los constructores:
EXISTE SOBRECARGA DE CONSTRUCTORES

Citar
1.- CONSTRUCTOR BASDARODP() -> Permite la multiple instancia de la clase sin repetir la entrada de parametros de conexión
2.- CONSTRUCTOR BasDatODP(String Equipox,String Usuariox,String Passwordx) -> Entrada de los parametros de conexión
    
1.   BasDatODP()
@param VACIO - los parametros son vacios,para evitar la Redundancia si es que se decea Reinstanciar la clase BasDatODP
2.   BasDatODP(String Equipox,String Usuariox,String Passwordx)
@param Equipo  String - Nombre del Equipo Host para la conexión
@param Usuario String - Usuario para la conexión
@param Passwor String - Password para la conexión





Y por los Metodos
Metodo Conectar
Citar
EXISTE SOBRECARGA DE METODOS
1.- Metodo Conectar() -> Permite realizar la conexión, si se cargaron los parametros anteriormente en el constructor
        
2.- Metodo Conectar(String Equipo, String Usuario, String Password)
 ->Permite realizar la conexión, si se omitio la Carga de parametros en el constructor

•   public Boolean Conectar()
REALIZA LA conexión CON LA BASE DE DATOS
@return true - La conexión se Realizo Correctamente
@return false - Error en la conexión

•   public Boolean Conectar(String Equipo, String Usuario, String Password)
REALIZA LA conexión CON LA BASE DE DATOS
@param Equipo  String - Nombre del Equipo Host para la conexión
@param Usuario String - Usuario para la conexión
@param Password String - Password para la conexión
@return true - La conexión se Realizo Correctamente
@return false - Error en la conexión

•   public OracleConnection ExportarConeccion()
IMPORTANTE SI SE DECEA IMPLEMENTAR EN ALGUNA OTRA TAREA EL OBJETO ORACLEDATAPROVIDER
@return OracleConnection - Objeto OracleConeccion importante si se quiere implementar en alguna otra tarea de OracleDataProvide

•   public Boolean EstadoDeConeccion()
MUESTRA EL ESTADO EN QUE SE ENCUENTRA LA conexión DE LA BASE DE DATOS
@return true - Estado conectado
@return false - Estado Desconectado

•   public Boolean Desconectar()
DESCONECTA DE LA BASE DE DATOS
@return true - Se Desconecto Correctamente
@return false - No se Desconecto o Existe un Error

•   public OracleDataReader Consulta(String Query)
CONSULTA DONDE SE RETORNE UN VALOR (SELECT,FUNCIONES.ETC)
@return OracleDataReader - Datos de Lectura de la Consulta




•   public Boolean EjecutarQuery(String Query)
LINEA QUERY DONDE NO SE RETORN UN VALOR (INSERT,DELETE,UPDATE)
@return True  - El Query se ejecuto Correctamente
@return False - El Query no se ejecuto

•   public DataTable ConsultarEnDataGrid(String Query)
CARGA UNA CONSULTA QUE RETORNE UN VALOR (SELECT,FUNCION,ETC) A UNA DATAGRID
@return DataTable  - Datos de Tabla, Para ser igualados con dataGridView.DataSource



El codigo de la clase es el siguente:
Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Data;
  6. using Oracle.DataAccess.Client;
  7.  
  8. namespace OracleDateProvider_Prueba
  9. {
  10.    class BasDatODP
  11.    {
  12.        private static OracleConnection conexión;
  13.  
  14.        /*
  15.          *Constructores BasDatODP
  16.          * EXISTE SOBRECARGA DE CONSTRUCTORES
  17.          *
  18.          * 1.- CONSTRUCTOR BASDARODP() -> Permite la multiple instancia de la clase sin repetir
  19.          *                                la entrada de parametros de conexión
  20.          * 2.- CONSTRUCTOR BasDatODP(String Equipox,String Usuariox,String Passwordx) ->
  21.          *                              Entrada de los parametros de conexión
  22.          */
  23.  
  24.        /*
  25.          *Constructor BasDatODP
  26.          * @param VACIO - los parametros son vacios,para evitar la Redundancia si es que se decea
  27.          * Reinstancias la clase BasDatODP
  28.          */
  29.        public BasDatODP() {
  30.            conexión = new OracleConnection();
  31.        }
  32.  
  33.        /*
  34.          *Constructor BasDatODP(String Equipox,String Usuariox,String Passwordx)
  35.          *@param Equipo  String - Nombre del Equipo Host para la conexión
  36.          *@param Usuario String - Usuario para la conexión
  37.          *@param Passwor String - Password para la conexión
  38.          *
  39.          */
  40.        public BasDatODP(String Equipo, String Usuario, String Password){
  41.            conexión = new OracleConnection();
  42.            conexión.ConnectionString = "Data Source=" + Equipo
  43.                                            + ";User Id=" + Usuario
  44.                                            + ";Password=" + Password
  45.                                            + ";";
  46.        }
  47.  
  48.        /*
  49.          *Metodo Conectar
  50.          * EXISTE SOBRECARGA DE METODOS
  51.          *
  52.          * 1.- Metodo Conectar() -> Permite realizar la conexión, si se cargaron los parametros
  53.          *                       anteriormente en el constructor
  54.          *
  55.          * 2.- Metodo Conectar(String Equipo, String Usuario, String Password) ->
  56.          *            Permite realizar la conexión, si se omitio la Carga de parametros en el constructor
  57.          */
  58.  
  59.        /*
  60.          *Metodo Conectar()
  61.          *REALIZA LA conexión CON LA BASE DE DATOS
  62.          *@return true - La conexión se Realizo Correctamente
  63.          *@return false - Error en la conexión
  64.          */
  65.        public Boolean Conectar()
  66.        {
  67.            try
  68.            {
  69.                conexión.Open();
  70.                return true;
  71.            }
  72.            catch (Exception error)
  73.            {
  74.                return false;
  75.            }
  76.        }
  77.  
  78.  
  79.        /*
  80.          *Metodo Conectar(String Equipox, String Usuariox, String Passwordx)
  81.          *REALIZA LA conexión CON LA BASE DE DATOS
  82.          *@param Equipo  String - Nombre del Equipo Host para la conexión
  83.          *@param Usuario String - Usuario para la conexión
  84.          *@param Password String - Password para la conexión
  85.          *@return true - La conexión se Realizo Correctamente
  86.          *@return false - Error en la conexión
  87.          */
  88.        public Boolean Conectar(String Equipo, String Usuario, String Password)
  89.        {
  90.            try
  91.            {
  92.                conexión.ConnectionString = "Data Source=" + Equipo
  93.                                            + ";User Id=" + Usuario
  94.                                            + ";Password=" + Password
  95.                                            + ";";
  96.                conexión.Open();
  97.                return true;
  98.            }
  99.            catch (Exception error)
  100.            {
  101.                return false;
  102.            }
  103.       }
  104.  
  105.        /*
  106.          *Metodo ExportarConeccion()
  107.          *IMPORTANTE SI SE DECEA IMPLEMENTAR EN ALGUNA OTRA TAREA EL OBJETO ORACLEDATAPROVIDER
  108.          *@return OracleConnection - Objeto OracleConeccion importante si se quiere implementar en alguna otra
  109.          *                        tarea de OracleDataProvide
  110.          */
  111.        public OracleConnection ExportarConeccion()
  112.        {
  113.            return conexión;
  114.        }
  115.  
  116.        /*
  117.          *Metodo EstadoDeConeccion()
  118.          *MUESTRA EL ESTADO EN QUE SE ENCUENTRA LA conexión DE LA BASE DE DATOS
  119.          *@return true - Estado conectado
  120.          *@return false - Estado Desconectado
  121.          */
  122.        public Boolean EstadoDeConeccion()
  123.        {
  124.            try
  125.            {
  126.                String Estado=conexión.State.ToString();
  127.                if (Estado.Equals("Open"))
  128.                {
  129.                    return true;
  130.                }
  131.                else
  132.                {
  133.                    return false;
  134.                }
  135.  
  136.            }
  137.            catch (Exception error)
  138.            {
  139.                return false;
  140.            }
  141.  
  142.  
  143.        }
  144.  
  145.        /*
  146.          *Metodo Desconectar()
  147.          *DESCONECTA DE LA BASE DE DATOS
  148.          *@return true - Se Desconecto Correctamente
  149.          *@return false - No se Desconecto o Existe un Error
  150.          */
  151.        public Boolean Desconectar() {
  152.            try
  153.            {
  154.                conexión.Close();
  155.                conexión.Dispose();
  156.                return true;
  157.            }
  158.            catch (Exception error) {
  159.                return false;
  160.            }
  161.        }
  162.  
  163.        /*
  164.          *Metodo Consulta(String Query)
  165.          *CONSULTA DONDE SE RETORNE UN VALOR (SELECT,FUNCIONES.ETC)
  166.          *@return OracleDataReader - Datos de Lectura de la Consulta
  167.          */
  168.        public OracleDataReader Consulta(String Query)
  169.        {
  170.            try
  171.            {
  172.                OracleCommand HacerConsulta = new OracleCommand();
  173.                HacerConsulta.Connection = conexión;
  174.                HacerConsulta.CommandText = Query;
  175.                HacerConsulta.CommandType = CommandType.Text;
  176.  
  177.                OracleDataReader DatosLectura = HacerConsulta.ExecuteReader();
  178.                if (!DatosLectura.Read())
  179.                {
  180.                    return null;
  181.                }
  182.                return DatosLectura;
  183.            }
  184.            catch (Exception Error)
  185.            {
  186.                return null;
  187.            }
  188.        }
  189.  
  190.        /*
  191.          *Metodo EjecutarQuery(String Query)
  192.          *LINEA QUERY DONDE NO SE RETORN UN VALOR (INSERT,DELETE,UPDATE)
  193.          *@return True  - El Query se ejecuto Correctamente
  194.          *@return False - El Query no se ejecuto
  195.          */
  196.        public Boolean EjecutarQuery(String Query)
  197.        {
  198.            try
  199.            {
  200.                OracleCommand HacerConsulta = new OracleCommand();
  201.                HacerConsulta.Connection = conexión;
  202.                HacerConsulta.CommandText = Query;
  203.                HacerConsulta.CommandType = CommandType.Text;
  204.                HacerConsulta.ExecuteNonQuery();
  205.                return true;
  206.            }catch(Exception error)
  207.            {
  208.                return false;
  209.            }
  210.        }
  211.  
  212.        /*
  213.          *Metodo ConsultarEnDataGrid(String Query)
  214.          *CARGA UNA CONSULTA QUE RETORNE UN VALOR (SELECT,FUNCION,ETC) A UNA DATAGRID
  215.          *@return DataTable  - Datos de Tabla,
  216.          *          Para ser igualados con dataGridView.DataSource
  217.          *
  218.          */
  219.        public DataTable ConsultarEnDataGrid(String Query)
  220.        {
  221.            try
  222.            {
  223.                OracleDataAdapter DaValores = new OracleDataAdapter(Query, conexión);
  224.                DataSet DsValores = new DataSet();
  225.                DaValores.Fill(DsValores,"Tabla");
  226.  
  227.                return DsValores.Tables["Tabla"];
  228.            }
  229.            catch (Exception error)
  230.            {
  231.                return null;
  232.            }
  233.  
  234.        }
  235.  
  236.  
  237.  
  238.    }
  239. }
  240.  
  241.  

Editado por D4N93R: Recuerda colocar el código Geshi correcto, estaba en Java y no en C#.


Título: Re: Clase ODP.net Oracle Data Provider C#
Publicado por: [D4N93R] en 24 Diciembre 2010, 00:40 am
Agregado a los temas interesantes!

Gracias por el aporte!


Título: Re: Clase ODP.net Oracle Data Provider C#
Publicado por: cyberserver en 29 Enero 2011, 05:50 am
Aqui esta, la nueva clase un poco mas "pulida" y funcional

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Data;
  6. using Oracle.DataAccess.Client;
  7.  
  8. namespace ModuloVentas
  9. {
  10.    class BasDatODP
  11.    {
  12.        private OracleConnection conexión;
  13.        private static String Equipox;
  14.        private static String Usuariox;
  15.        private static String Passwordx;
  16.        /*
  17.          *Constructores BasDatODP
  18.          * EXISTE SOBRECARGA DE CONSTRUCTORES
  19.          *
  20.          * 1.- CONSTRUCTOR BASDARODP() -> Permite la multiple instancia de la clase sin repetir
  21.          *                                la entrada de parametros de conexión
  22.          * 2.- CONSTRUCTOR BasDatODP(String Equipox,String Usuariox,String Passwordx) ->
  23.          *                              Entrada de los parametros de conexión
  24.          */
  25.  
  26.        /*
  27.          *Constructor BasDatODP
  28.          * @param VACIO - los parametros son vacios,para evitar la Redundancia si es que se decea
  29.          * Reinstancias la clase BasDatODP
  30.          */
  31.        public BasDatODP()
  32.        {
  33.            conexión = new OracleConnection();
  34.        }
  35.  
  36.        /*
  37.          *Constructor BasDatODP(String Equipox,String Usuariox,String Passwordx)
  38.          *@param Equipo  String - Nombre del Equipo Host para la conexión
  39.          *@param Usuario String - Usuario para la conexión
  40.          *@param Passwor String - Password para la conexión
  41.          *
  42.          */
  43.        public BasDatODP(String Equipo, String Usuario, String Password)
  44.        {
  45.            Equipox = Equipo;
  46.            Usuariox = Usuario;
  47.            Passwordx = Password;
  48.  
  49.            conexión = new OracleConnection();
  50.            conexión.ConnectionString = "Data Source=" + Equipox
  51.                                            + ";User Id=" + Usuariox
  52.                                            + ";Password=" + Passwordx
  53.                                            + ";";
  54.        }
  55.  
  56.        /*
  57.          *Metodo Conectar
  58.          * EXISTE SOBRECARGA DE METODOS
  59.          *
  60.          * 1.- Metodo Conectar() -> Permite realizar la conexión, si se cargaron los parametros
  61.          *                       anteriormente en el constructor
  62.          *
  63.          * 2.- Metodo Conectar(String Equipo, String Usuario, String Password) ->
  64.          *            Permite realizar la conexión, si se omitio la Carga de parametros en el constructor
  65.          */
  66.  
  67.        /*
  68.          *Metodo Conectar()
  69.          *REALIZA LA conexión CON LA BASE DE DATOS
  70.          *@return true - La conexión se Realizo Correctamente
  71.          *@return false - Error en la conexión
  72.          */
  73.        public Boolean Conectar()
  74.        {
  75.            try
  76.            {
  77.                conexión.ConnectionString = "Data Source=" + Equipox
  78.                                            + ";User Id=" + Usuariox
  79.                                            + ";Password=" + Passwordx
  80.                                            + ";";
  81.                conexión.Open();
  82.                return true;
  83.            }
  84.            catch (Exception error)
  85.            {
  86.                return false;
  87.            }
  88.        }
  89.  
  90.  
  91.        /*
  92.          *Metodo Conectar(String Equipox, String Usuariox, String Passwordx)
  93.          *REALIZA LA conexión CON LA BASE DE DATOS
  94.          *@param Equipo  String - Nombre del Equipo Host para la conexión
  95.          *@param Usuario String - Usuario para la conexión
  96.          *@param Password String - Password para la conexión
  97.          *@return true - La conexión se Realizo Correctamente
  98.          *@return false - Error en la conexión
  99.          */
  100.        public Boolean Conectar(String Equipo, String Usuario, String Password)
  101.        {
  102.            try
  103.            {
  104.                Equipox = Equipo;
  105.                Usuariox = Usuario;
  106.                Passwordx = Password;
  107.  
  108.                conexión = new OracleConnection();
  109.                conexión.ConnectionString = "Data Source=" + Equipox
  110.                                                + ";User Id=" + Usuariox
  111.                                                + ";Password=" + Passwordx
  112.                                                + ";";
  113.                conexión.Open();
  114.                return true;
  115.            }
  116.            catch (Exception error)
  117.            {
  118.                return false;
  119.            }
  120.        }
  121.  
  122.        /*
  123.          *Metodo ExportarConeccion()
  124.          *IMPORTANTE SI SE DECEA IMPLEMENTAR EN ALGUNA OTRA TAREA EL OBJETO ORACLEDATAPROVIDER
  125.          *@return OracleConnection - Objeto OracleConeccion importante si se quiere implementar en alguna otra
  126.          *                        tarea de OracleDataProvide
  127.          */
  128.        public OracleConnection ExportarConeccion()
  129.        {
  130.            return conexión;
  131.        }
  132.  
  133.        /*
  134.          *Metodo EstadoDeConeccion()
  135.          *MUESTRA EL ESTADO EN QUE SE ENCUENTRA LA conexión DE LA BASE DE DATOS
  136.          *@return true - Estado conectado
  137.          *@return false - Estado Desconectado
  138.          */
  139.        public Boolean EstadoDeConeccion()
  140.        {
  141.            try
  142.            {
  143.                String Estado = conexión.State.ToString();
  144.                if (Estado.Equals("Open"))
  145.                {
  146.                    return true;
  147.                }
  148.                else
  149.                {
  150.                    return false;
  151.                }
  152.  
  153.            }
  154.            catch (Exception error)
  155.            {
  156.                return false;
  157.            }
  158.  
  159.  
  160.        }
  161.  
  162.        /*
  163.          *Metodo Desconectar()
  164.          *DESCONECTA DE LA BASE DE DATOS
  165.          *@return true - Se Desconecto Correctamente
  166.          *@return false - No se Desconecto o Existe un Error
  167.          */
  168.        public Boolean Desconectar()
  169.        {
  170.            try
  171.            {
  172.                conexión.Close();
  173.                conexión.Dispose();
  174.                return true;
  175.            }
  176.            catch (Exception error)
  177.            {
  178.                return false;
  179.            }
  180.        }
  181.  
  182.        /*
  183.          *Metodo Consulta(String Query)
  184.          *CONSULTA DONDE SE RETORNE UN VALOR (SELECT,FUNCIONES.ETC)
  185.          *@return OracleDataReader - Datos de Lectura de la Consulta
  186.          */
  187.        public OracleDataReader Consulta(String Query)
  188.        {
  189.            try
  190.            {
  191.                OracleCommand HacerConsulta = new OracleCommand();
  192.                HacerConsulta.Connection = conexión;
  193.                HacerConsulta.CommandText = Query;
  194.                HacerConsulta.CommandType = CommandType.Text;
  195.  
  196.                OracleDataReader DatosLectura = HacerConsulta.ExecuteReader();
  197.                if (!DatosLectura.Read())
  198.                {
  199.                    return null;
  200.                }
  201.                return DatosLectura;
  202.            }
  203.            catch (Exception Error)
  204.            {
  205.                return null;
  206.            }
  207.        }
  208.  
  209.        /*
  210.          *Metodo EjecutarQuery(String Query)
  211.          *LINEA QUERY DONDE NO SE RETORN UN VALOR (INSERT,DELETE,UPDATE)
  212.          *@return True  - El Query se ejecuto Correctamente
  213.          *@return False - El Query no se ejecuto
  214.          */
  215.        public Boolean EjecutarQuery(String Query)
  216.        {
  217.            try
  218.            {
  219.                OracleCommand HacerConsulta = new OracleCommand();
  220.                HacerConsulta.Connection = conexión;
  221.                HacerConsulta.CommandText = Query;
  222.                HacerConsulta.CommandType = CommandType.Text;
  223.                HacerConsulta.ExecuteNonQuery();
  224.                return true;
  225.            }
  226.            catch (Exception error)
  227.            {
  228.                return false;
  229.            }
  230.        }
  231.  
  232.        /*
  233.          *Metodo ConsultarEnDataGrid(String Query)
  234.          *CARGA UNA CONSULTA QUE RETORNE UN VALOR (SELECT,FUNCION,ETC) A UNA DATAGRID
  235.          *@return DataTable  - Datos de Tabla,
  236.          *          Para ser igualados con dataGridView.DataSource
  237.          *
  238.          */
  239.        public DataTable ConsultarEnDataGrid(String Query)
  240.        {
  241.            try
  242.            {
  243.                OracleDataAdapter DaValores = new OracleDataAdapter(Query, conexión);
  244.                DataSet DsValores = new DataSet();
  245.                DaValores.Fill(DsValores, "Tabla");
  246.  
  247.                return DsValores.Tables["Tabla"];
  248.  
  249.            }
  250.            catch (Exception error)
  251.            {
  252.                return null;
  253.            }
  254.  
  255.        }
  256.        public String GetEquipo()
  257.        {
  258.            return Equipox;
  259.        }
  260.        public String GetUsuario()
  261.        {
  262.            return Usuariox;
  263.        }
  264.        public String GetPassword()
  265.        {
  266.            return Passwordx;
  267.        }
  268.    }
  269. }
  270.  
  271.