Ver Mensaje Individual
  #26 (permalink)  
Antiguo 11/02/2010, 13:36
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: O.o que pasa aqui ?

Bueno, en realidad lo mejor en ese caso es que vayamos a las fuentes: MSDN (OracleDataReader (Clase))
Al menos es lo que yo hago cuando necesito códigos de prueba, y los que ponen siempre me han funcionado:
Cita:
En este ejemplo de C# se crea una tabla de Oracle, que se carga con datos. Debe ejecutar este ejemplo antes de ejecutar el siguiente, en el que se muestra cómo utilizar OracleDataReader para tener acceso a los datos mediante estructuras OracleType.
Código C#.net:
Ver original
  1. public void Setup(string connectionString)
  2. {
  3.    OracleConnection connection = new OracleConnection(connectionString);
  4.    try
  5.    {
  6.       connection.Open();
  7.       OracleCommand command = connection.CreateCommand();
  8.       command.CommandText ="CREATE TABLE OracleTypesTable (MyVarchar2 varchar2(3000),MyNumber number(28,4) PRIMARY KEY,MyDate date, MyRaw raw(255))";
  9.       command.ExecuteNonQuery();
  10.       command.CommandText ="INSERT INTO OracleTypesTable VALUES ('test', 2, to_date('2000-01-11 12:54:01','yyyy-mm-dd hh24:mi:ss'), '0001020304')";
  11.       command.ExecuteNonQuery();
  12.       command.CommandText="SELECT * FROM OracleTypesTable";
  13.    }
  14.    catch(Exception)
  15.    {
  16.    }
  17.    finally
  18.    {
  19.       connection.Close();
  20.    }
  21. }
En este ejemplo de C# se utiliza un objeto OracleDataReader para obtener acceso a los datos y se usan varias estructuras OracleType para mostrar los datos.

Código C#.net:
Ver original
  1. public void ReadOracleTypesExample(string connectionString)
  2. {
  3.    OracleConnection connection = new OracleConnection(connectionString);
  4.    connection.Open();
  5.    OracleCommand command = connection.CreateCommand();
  6.    try
  7.    {
  8.       command.CommandText = "SELECT * FROM OracleTypesTable";
  9.       OracleDataReader reader = command.ExecuteReader();
  10.       reader.Read();
  11.       //Using the Oracle specific getters for each type is faster than
  12.       //using GetOracleValue.
  13.       //First column, MyVarchar2, is a VARCHAR2 data type in Oracle Server
  14.       //and maps to OracleString.
  15.       OracleString oraclestring1 = reader.GetOracleString(0);
  16.       Console.WriteLine("OracleString " + oraclestring1.ToString());
  17.  
  18.       //Second column, MyNumber, is a NUMBER data type in Oracle Server
  19.       //and maps to OracleNumber.
  20.       OracleNumber oraclenumber1 = reader.GetOracleNumber(1);
  21.       Console.WriteLine("OracleNumber " + oraclenumber1.ToString());
  22.  
  23.       //Third column, MyDate, is a DATA data type in Oracle Server
  24.       //and maps to OracleDateTime.
  25.       OracleDateTime oracledatetime1 = reader.GetOracleDateTime(2);
  26.       Console.WriteLine("OracleDateTime " + oracledatetime1.ToString());
  27.  
  28.       //Fourth column, MyRaw, is a RAW data type in Oracle Server and
  29.       //maps to OracleBinary.
  30.       OracleBinary oraclebinary1 = reader.GetOracleBinary(3);
  31.  
  32.       //Calling value on a null OracleBinary throws
  33.       //OracleNullValueException; therefore, check for a null value.
  34.       if (oraclebinary1.IsNull==false)
  35.       {
  36.          foreach(byte b in oraclebinary1.Value)
  37.          {
  38.             Console.WriteLine("byte " + b.ToString());
  39.          }
  40.       }
  41.       reader.Close();
  42.    }
  43.    catch(Exception e)
  44.    {
  45.       Console.WriteLine(e.ToString());
  46.    }
  47.    finally
  48.    {
  49.       connection.Close();
  50.    }
  51. }
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)