none
Hacer una consulta SQL con C# utilizando un Data Reader y mostrarlo por consola. RRS feed

  • Pregunta

  • Estimados, quisiera saber como puedo mostrar por consola un "select * from tabla" con un data reader. 

    Como sería el método... 

    Desde ya muchas gracias.

    Carlos

    domingo, 21 de octubre de 2012 4:24

Respuestas

  • podrias hacer

    using(SqlConnection cn = new SqlConnection("connection string"))
    {
        cn.Open();
             
        SqlCommand cmd= new SqlCommand("Select * From tabla", cn);
        SqlDataReader dr = cmd.ExecuteReader();
    
        if(dr.Read())
        {
            Console.WriteLine(Convert.ToString(reader("nombrecampo")));
        }
    }


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Carlospuntonet domingo, 21 de octubre de 2012 12:37
    domingo, 21 de octubre de 2012 12:08
  • Si ahora que me fije en el codigo debe de darte error con ese reader porque debes cojer la posicion donde esta el dato que quieres cojer y eso seria así

    using(SqlConnection cn =new SqlConnection("connection string"))
    {
        cn
    .Open();
            
       
    SqlCommand cmd=new SqlCommand("Select * From tabla", cn);
       
    SqlDataReader dr = cmd.ExecuteReader();

       
    if(dr.Read())
       
    {        
              Console.WriteLine(Convert.ToString(dr["nombrecampo"]));

       
    }
    }

    En dado caso de que tengas problemas con el nombrecampo ponle la posicion sabiendo que el primero seria el 0, 1 y asi suceciblamente osea esto :

    using(SqlConnection cn =new SqlConnection("connection string"))
    {
        cn
    .Open();
            
       
    SqlCommand cmd=new SqlCommand("Select * From tabla", cn);
       
    SqlDataReader dr = cmd.ExecuteReader();

       
    if(dr.Read())
       
    {       
              Console.WriteLine(Convert.ToString(dr[0));

       
    }
    }

    Suerte!


    Si mi respuesta te ha ayudado a resolver tus problemas, Selecciona "Proponer como respuesta"

    • Marcado como respuesta Carlospuntonet jueves, 25 de octubre de 2012 1:34
    lunes, 22 de octubre de 2012 1:00

Todas las respuestas

  • podrias hacer

    using(SqlConnection cn = new SqlConnection("connection string"))
    {
        cn.Open();
             
        SqlCommand cmd= new SqlCommand("Select * From tabla", cn);
        SqlDataReader dr = cmd.ExecuteReader();
    
        if(dr.Read())
        {
            Console.WriteLine(Convert.ToString(reader("nombrecampo")));
        }
    }


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Carlospuntonet domingo, 21 de octubre de 2012 12:37
    domingo, 21 de octubre de 2012 12:08
  • Como siempre en todas.

    Sos un genio. Seguí ayudando que la verdad gracias a vos hay muchas personas que aprenden desde los que apenas empiezan como yo hasta lo que saben.


    Carlos Alfonso Nada es perfecto.!

    domingo, 21 de octubre de 2012 12:38
  • Lo último que te pregunto es que me dice que reader no existe en el contexto actual. Que sería reader ?? un método de que objeto de que tipo. 

    Gracias nuevamente.


    Carlos Alfonso Nada es perfecto.!

    domingo, 21 de octubre de 2012 12:53
  • El datareader al igual que el ExecuteNoQuery y ExecuteScalar son los comandos que existen para ejecutar algun tipo de consulta.

    En tu caso el DataReader recupera información de tu base de datos mediante una instancia creada de el Command(comando), y tambien si quieres esa información luego puedes pasarla a cualquier tipo de control como vez en este pedazo de codigo la información ya esta cargada y la puedes utilizar para lo que quieras..

      if(dr.Read())
        {
            Console.WriteLine(Convert.ToString(reader("nombrecampo")));
        }

    Suerte!!


    Si mi respuesta te ha ayudado a resolver tus problemas, Selecciona "Proponer como respuesta"

    domingo, 21 de octubre de 2012 13:46
  • El datareader al igual que el ExecuteNoQuery y ExecuteScalar son los comandos que existen para ejecutar algun tipo de consulta.

    En tu caso el DataReader recupera información de tu base de datos mediante una instancia creada de el Command(comando), y tambien si quieres esa información luego puedes pasarla a cualquier tipo de control como vez en este pedazo de codigo la información ya esta cargada y la puedes utilizar para lo que quieras..

      if(dr.Read())
        {
            Console.WriteLine(Convert.ToString(reader("nombrecampo")));
        }

    Suerte!!


    Si mi respuesta te ha ayudado a resolver tus problemas, Selecciona 

    Me dice que reader "el que pusiste antes de ("nombredecampo") no existe en el contexto actual que hago ? 

    Gracias



    domingo, 21 de octubre de 2012 15:08
  • Hola me dice que el reader (el que está antes de "nombredecampo") no existe.

    Que puedo hacer ????


    Carlos Alfonso Nada es perfecto.!

    domingo, 21 de octubre de 2012 23:22
  • Lo que sucede que Leandro se confundio y puso Reader , donde el creo un objeto dataReader con este nombre que es dr no reader

    quedaria de esta manera el codigo:

    using(SqlConnection cn = new SqlConnection("connection string"))
    {
        cn
    .Open();
            
       
    SqlCommand cmd= new SqlCommand("Select * From tabla", cn);
       
    SqlDataReader dr = cmd.ExecuteReader();

       
    if(dr.Read())
       
    {
           
    Console.WriteLine(Convert.ToString(dr("nombrecampo")));
       
    }
    }


    Si mi respuesta te ha ayudado a resolver tus problemas, Selecciona "Proponer como respuesta"

    lunes, 22 de octubre de 2012 0:42
  • Me dice que dr es variable pero se utiliza como método si hago la modificación que me indicaste. 

    Carlos Alfonso Nada es perfecto.!

    lunes, 22 de octubre de 2012 0:46
  • Si ahora que me fije en el codigo debe de darte error con ese reader porque debes cojer la posicion donde esta el dato que quieres cojer y eso seria así

    using(SqlConnection cn =new SqlConnection("connection string"))
    {
        cn
    .Open();
            
       
    SqlCommand cmd=new SqlCommand("Select * From tabla", cn);
       
    SqlDataReader dr = cmd.ExecuteReader();

       
    if(dr.Read())
       
    {        
              Console.WriteLine(Convert.ToString(dr["nombrecampo"]));

       
    }
    }

    En dado caso de que tengas problemas con el nombrecampo ponle la posicion sabiendo que el primero seria el 0, 1 y asi suceciblamente osea esto :

    using(SqlConnection cn =new SqlConnection("connection string"))
    {
        cn
    .Open();
            
       
    SqlCommand cmd=new SqlCommand("Select * From tabla", cn);
       
    SqlDataReader dr = cmd.ExecuteReader();

       
    if(dr.Read())
       
    {       
              Console.WriteLine(Convert.ToString(dr[0));

       
    }
    }

    Suerte!


    Si mi respuesta te ha ayudado a resolver tus problemas, Selecciona "Proponer como respuesta"

    • Marcado como respuesta Carlospuntonet jueves, 25 de octubre de 2012 1:34
    lunes, 22 de octubre de 2012 1:00
  • En realidad muchas gracias por compartir su conocimiento, soy nuevo en esto y estos foros son espectaculares, MIL GRACIAS me funciono perfectamente.
    viernes, 24 de agosto de 2018 3:03