Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/05/2013, 13:48
daoruga
 
Fecha de Ingreso: enero-2013
Mensajes: 54
Antigüedad: 12 años, 1 mes
Puntos: 0
Clase consulta SQL C#

Hola a todos,

Estoy empezando con C# y estoy haciendo una aplicación donde quiero crear una clase con la que poder hacer consultas SQL con mi BBDD Oracle. He hecho esto;

Código C++:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Oracle.DataAccess.Client;
  6.  
  7. namespace ProyectoAlmacen
  8. {
  9.     class ConsultaSQL
  10.     {
  11.         //Definción de variables
  12.         private ConectarBBDD dR;
  13.         private OracleConnection conexion;
  14.  
  15.         //Método que devuelve el OracleDataReader resultante de la consulta
  16.         public OracleDataReader queryConsultaSQL (String var, String sql)
  17.         {
  18.             //Inicialización de la conexión
  19.             dR = new ConectarBBDD();
  20.             conexion = dR.Conexión();
  21.  
  22.             //Consulta SQL
  23.             OracleCommand query = new OracleCommand(sql, conexion);
  24.             query.ExecuteNonQuery();
  25.             OracleDataReader reader = query.ExecuteReader();
  26.  
  27.             //Cierre conexión
  28.             conexion.Close();
  29.  
  30.             //Retorna el resultado de la busqueda
  31.             return reader;
  32.         }
  33.     }
  34. }

Luego realizo la consulta en el Formulario de la siguiente forma;

Código C++:
Ver original
  1. private ConsultaSQL consulta = new ConsultaSQL();
  2.  
  3. String var = comboBoxTipo.Text;
  4.  
  5. sql = "SELECT CodTipo FROM TipoTratam WHERE Nombre = '" + var + "'";
  6. OracleDataReader rs = consulta.queryConsultaSQL(var, sql);
  7. if (rs.HasRows)
  8.      codigoTipo = Convert.ToInt16(rs["CodTipo"]);

El problema es que me da error (ora-00900 invalid sql statement), el String sql no es correcto, se que estoy haciendo algo mal, seguramente al pasar las variables pero no consigo resolverlo.

Espero que usteden puedan ayudarme

Muchas gracias