DataSet Y MoveNext Ayuda Por Favor

05/12/2006 - 03:44 por edcha | Informe spam
Hola a todos espero qeu se encuentren bien, les escribo sobre lo
siguiente
En Vb6 para navegar en una tabla se usaba los Métodos MoveFirst,
MoveLast, MoveNext y MovePrevious de (ADO) Ahora en C# estoy cargando
un DataSet con un archivo XML y lo hago asi

DataSet ds = new DataSet();
// Crear un FileStream con el que leer el esquema System.IO
FileStream fsReadXml = new FileStream(fileTrad.xml, FileMode.Open);
ds.ReadXml(fsReadXml);

El asunto es ¿si existe algo similar a Vb6? para navegar en este
DataSet cargado con un XML.

Muchas Gracias por la Ayuda
 

Leer las respuestas

#1 Alberto Poblacion
05/12/2006 - 08:12 | Informe spam
"edcha" wrote in message
news:
En Vb6 para navegar en una tabla se usaba los Métodos MoveFirst,
MoveLast, MoveNext y MovePrevious de (ADO) Ahora en C# estoy cargando
un DataSet con un archivo XML y lo hago asi

DataSet ds = new DataSet();
FileStream fsReadXml = new FileStream(fileTrad.xml, FileMode.Open);
ds.ReadXml(fsReadXml);

El asunto es ¿si existe algo similar a Vb6? para navegar en este
DataSet cargado con un XML.



El DataSet tendrá dentro una o varias tablas, dependiendo del XML que se
haya cargado. Lo primero es separar una de las tablas:

DataTable dt = ds.Tables[0];

Lógicamente, si en lugar de una hay varias, habrá que ir cambiando el
[0] por el número de la tabla cuyos registros se quieran recorrer. El número
total de tablas que el DataSet ha encontrado en el XML será ds.Tables.Count.
Una vez que tenemos la tabla, ésta contiene los registros en la
colección Rows. La colección se comporta como un array, es decir, accedemos
a cualquier elemento por su índice: dt.Rows[i], o bien podemos recorrerla
con un bucle "foreach":

foreach (DataRow dr in dt.Rows)
{
//dr contiene el siguiente registro
}

Si la quieres recorrer por índice:

for (int i=0; i<dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
//Procesar aquí el registro dr
}

Con este tipo de acceso, lógicamente el MoveNext, MovePrevious, etc.
equivalen a incrementar o decrementar i.

Preguntas similares