reader
representa un DataReader válido y command
representa 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 SqlDataReader. El 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
0 comentarios:
Publicar un comentario
Dudas y sugerencias aqui