Leer registros DataSet y no del Form

16/02/2008 - 12:06 por jdarknet | Informe spam
Hoal soy nuevo en .net y c# creo que mi probelma esmuy simple pero no
consigo la forma de resolverlo, Necesuto leer de la base de datos
campos que no muestro en el Form, ¿Debe existir alguna forma ? se me
ocurren unas cuantas pero son muy engorrosas.

Saludos,
 

Leer las respuestas

#1 Alberto Poblacion
16/02/2008 - 12:32 | Informe spam
wrote in message
news:
Hoal soy nuevo en .net y c# creo que mi probelma esmuy simple pero no
consigo la forma de resolverlo, Necesuto leer de la base de datos
campos que no muestro en el Form, ¿Debe existir alguna forma ? se me
ocurren unas cuantas pero son muy engorrosas.



No lo entiendo. ¿Qué tiene que ver que se muestren o no los campos en
pantalla cuando los lees de la base de datos? Todos los métodos de ADO.Net
para acceder a base de datos dejan los datos leídos dentro de estructuras en
memoria, las cuales no tienen por qué relacionarse para nada con campos del
form; es más, de hecho las mismas rutinas funcionan en todo tipo de
programas, que no tienen por qué ser Windows Forms y de hecho pueden no
tener ningún interface de usuario.

Por ejemplo, supongamos que usas un DataAdapter para popular un DataSet:

SqlConnection cn = new SqlConnection(...);
SqlDataAdapter da = new SqlDataAdapter("Select * from MiTabla", cn);
DataSet ds = new DataSet();
da.Fill(ds);

Después de estas instrucciones, todos los datos seleccionados están
dentro del DataSet, en memoria, y puedes acceder a ellos como quieras, por
ejemplo, para sacar el valor de la cuarta columna del tercer registro:
valor=ds.Tables[0].Rows[2][3];

Es cierto que el DataSet se podría vincular al DataSource de algún
control en pantalla, pero también es perfectamente válido si lo dejas en
memoria sin mostrarlo para nada en el Form.

Lo mismo es válido para otras formas de acceso a datos, tales como usar
un DataReader, o hacer un ExecuteScalar con un SqlCommand para sacar un
único valor. Ninguna de ellas tiene por qué conectarse con campos del Form,
si no lo necesitas.

Preguntas similares