elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  ayuda con datareader
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con datareader  (Leído 2,141 veces)
d91

Desconectado Desconectado

Mensajes: 165


Ver Perfil
ayuda con datareader
« en: 11 Noviembre 2015, 03:56 am »

hola a todos, estoy teniendo un problema a al momento de manipular un datareader para llenar un grid que le he dado formato con anterioridad  la función donde lo lleno trabaja bien porque depurando puedo ver los datos que trae pero al intentar leer para llenar la lista me da el error:   Operación no válida dado el estado actual del objeto.
aquí lleno
Código
  1. public OracleDataReader busquedaDinamica(string spName, string patron)
  2.        {
  3.            conexion a = new conexion();
  4.  
  5.            try
  6.            {
  7.                using (OracleConnection conectar = a.ayudar())
  8.                {
  9.  
  10.  
  11.                    OracleCommand cmd = new OracleCommand(spName, conectar);
  12.  
  13.                    OracleParameter param1 = new OracleParameter("ResCursor", OracleDbType.RefCursor);
  14.                    param1.Direction = ParameterDirection.Output;
  15.                    cmd.Parameters.Add(param1);
  16.  
  17.                    OracleParameter param2 = new OracleParameter("patron", OracleDbType.Varchar2);
  18.                    param2.Value = patron;
  19.                    cmd.Parameters.Add(param2);
  20.  
  21.                    cmd.CommandType = CommandType.StoredProcedure;
  22.  
  23.                    conectar.Open();
  24.                    OracleDataReader dr = cmd.ExecuteReader();
  25.                    return dr;
  26.                }//using 1
  27.  
  28.            }//try
  29.            catch (Exception ex)
  30.            {
  31.                throw new ArgumentException("Error " + ex);
  32.            }//catch
  33.  

y en este recibo e intento recorrer para llenar la lista
 
Código
  1.  
  2. public List<clsventaServicio> ventaServicio(string spName)
  3.        {
  4.  
  5.            List<clsventaServicio> objeto = new List<clsventaServicio>();
  6.  
  7.            con = new conexion();
  8.            OracleDataReader lector;
  9.            lector = con.llenarGrid(spName);
  10.  
  11.            while (lector.Read())//aqui al intentar leer me da error
  12.            {       //error:   Operacion no vlida dado el estado actual del objeto.
  13.  
  14.                clsventaServicio lista = new clsventaServicio();
  15.                lista.clave = lector[0].ToString();
  16.                lista.servicio = lector[1].ToString();
  17.                lista.precio  = lector[2].ToString();
  18.  
  19.                objeto.Add(lista);
  20.  
  21.            }//while
  22.            return objeto;
  23.  
  24.        }//public lista<ventaproducto>
  25.  


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines