domingo, 5 de agosto de 2018

 

uso de DataReader en c#

Recuperar datos usando un DataReader implica crear una instancia del objeto Command y luego crear un DataReader llamando a Command.ExecuteReader para recuperar filas desde una fuente de datos. El siguiente ejemplo ilustra el uso de un DataReader donde readerrepresenta un DataReader válido y commandrepresenta un objeto Command válido.

 reader = command.ExecuteReader();
 Utiliza el método Read del objeto DataReader para obtener una fila de los resultados de la consulta. Puede acceder a cada columna de la fila devuelta pasando el nombre o la referencia ordinal de la columna al DataReader . Sin embargo, para un mejor rendimiento, el DataReader proporciona una serie de métodos que le permiten acceder a valores de columna en sus tipos de datos nativos ( GetDateTime , GetDouble , GetGuid , GetInt32 , etc.). Para obtener una lista de métodos de acceso tipeados para DataReaders específicos del proveedor de datos , vea OleDbDataReader y SqlDataReaderEl uso de los métodos de acceso de acceso de tipo tipeado, suponiendo que se conozca el tipo de datos subyacente, reduce la cantidad de conversión de tipo requerida al recuperar el valor de la columna.

vamos al ejemplo..

en este ejercicio se desea cargar datos al control listbox y combobox utilizando metodo dataReader

Diseñamos nuestro formulario para este ejemplo.














codigo fuente


using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace uso_de_datareader
{
    public partial class Form1 : Form
    {
        public SqlConnection cn = new SqlConnection("Data Source=cpiprodesign;Initial Catalog=ImportacionesNet;Integrated Security=True");

        public Form1()
        {
            InitializeComponent();
        }

        private void carga_productos()
        {
            SqlCommand cm = new SqlCommand("select*from productos", cn);
            //se abre la coneccion
            cn.Open();
            SqlDataReader dr = cm.ExecuteReader();

            if (dr.HasRows)
            {
                while (dr.Read())
                {
                  
                    this.listBox1.Items.Add(dr.GetString(1));
                }
            }
            else
            {
                MessageBox.Show("error al recuperar datos");
            }
            dr.Close();
            cn.Close();

        }
        private void carga_categorias()
        {
            SqlCommand cm = new SqlCommand("select*from categorías", cn);
            //se abre la coneccion
            cn.Open();
            SqlDataReader dr = cm.ExecuteReader();

            if (dr.HasRows)
            {
                while (dr.Read())
                {
                
                    this.listBox2.Items.Add(dr.GetString(1));
                }
            }
            else
            {
                MessageBox.Show("error al recuperar datos");
            }
            dr.Close();
            cn.Close();
        }
        private void carga_clientes()
        {
            SqlCommand cm = new SqlCommand("select*from clientes", cn);
            //se abre la coneccion
            cn.Open();
            SqlDataReader dr = cm.ExecuteReader();


            if (dr.HasRows)
            {
                while (dr.Read())
                {
                 
                    this.comboBox1.Items.Add(dr.GetString(1));
                }
            }
            else
            {
                MessageBox.Show("error al recuperar datos");
            }
            dr.Close();
            cn.Close();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            carga_categorias();
            carga_productos();
            carga_clientes();
        }
    }


eso sería todo espero ayudarles.
deja tus mensajes o dudas en los comentarios.gracias
 


Share:

0 comentarios:

Publicar un comentario

Dudas y sugerencias aqui