SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: _vgt_ en Miércoles 8 de Junio de 2005, 11:52

Título: Duda Exitencial Con El Dataset
Publicado por: _vgt_ en Miércoles 8 de Junio de 2005, 11:52
Holaa!!!,tengo una duda existencial con el dataSet... yo vengo de visual basic 6.0 y ahora estoy migrando a visual .net  ... entonces vale, tengo un dataset creado, con los datos de la tabla y tal... ahora me gustaria saber como puedo moverme a traves de la tabla... tanto para adelante como para atras... en visual era .movenext, moveprevious, movelast y movefirst pero me parece k todo eso ha desaparecido... cualkier ayuda es bienvenida  :-)

Muxas gracias gente !!   :hola:
Título: Re: Duda Exitencial Con El Dataset
Publicado por: Diolsinai en Miércoles 8 de Junio de 2005, 13:11
Wenas.  Yo tb vengo del VB 6.0 y estoy migrando al .net con manuales, tutoriales...en fin , tb ando perdio.
 Lo de moverte en una tabla a través de botones de un formulario, yo lo hago de la sgte manera:
 - En el boton  'Siguiente' pongo este código
   Me.BindingContext(nombreDataSet, "nombreTabla").Position += 1
 - Y en el btn   'Anterior' pues lo mismo pero con el signo de menos
   Me.BindingContext(nombreDataSet, "nombreTabla").Position -= 1

 no sé si es la mejor forma...pero a mí me funciona

 un saludo
Título: Re: Duda Exitencial Con El Dataset
Publicado por: _vgt_ en Miércoles 8 de Junio de 2005, 13:32
muxisimas gracias Diolsinai... tomo buena nota y a seguir peleandome con esto del .net  :rolleyes:

muxas gracias de nuevo  :hola:
Título: Re: Duda Exitencial Con El Dataset
Publicado por: Güorker en Miércoles 8 de Junio de 2005, 14:58
Buenas,

Creo que andais un poco perdidos con el DataSet.

Lo primero deciros que en un Dataset no se mueve de un registro a otro con movenext ni moveprevious ni nada por el estilo. Olvidaos de eso.
Ahora teneis que imaginaros que un Dataset es como una copia de una parte de la base de datos, Es decir que en el DataSet teneis una/s tablas/s de la base de datos pero en memoria.

Para acceder a una fila concreta de una tabla habria que escribir algo asi:
DataSet1.Tables("NombreTabla").Rows(0)

Las tablas de un Dataset ofrecen acceso aleatorio.

Por otro lado está lo que ha escrito Diolsinai:
Citar
Me.BindingContext(nombreDataSet, "nombreTabla").Position += 1

Esto se suele utilizar cuando los Datos de un DAtaset se muestran en un formulario, por ejemplo en un DataGrid o en una serie de Controles enlazados a una tabal del DataSet.

En este caso se utiliza una clase llamada CurrencyManager. Esta clase se enlaza a un conjunto de Datos (por ejemplo una tabla del DataSet) y es la que permite moverte sobre los registros de la tabla del DataSet.

Creo que debeís leer bastante para enteraros bien del funcionamiento de los Dataset y las posibilidasdes que ofrece, que son muchas!!

Espero haber ayudado en algo y no haberos agobiado demasiado.

Saludos
Título: Re: Duda Exitencial Con El Dataset
Publicado por: Kev en Miércoles 8 de Junio de 2005, 18:36
Toda la razon Güorker, el nuevo modelo es muy diferente incluso para manejar una fila especifica se prefiere almacenar la fila en una variable tipo row la cual contendra el registro...

ejemplo entes se hacia en un recordset
Código: Text
  1.  
  2. 'rs es el recordet
  3. While Not rs.EOF
  4.   'Aca el codigo para manejar el recordset
  5. Wend
  6.  
  7.  

ahora con ADO.NET
Código: Text
  1.  
  2. 'ds es mi dataset
  3. 'dr es mi datarow
  4. For each dr in dt.tables("Tabla").rows
  5.   'Aca el codigo pero trabajas con el datarow
  6.   'que es el registro actual en el que te encuentras
  7. Next
  8.  
  9.  

Salu2
 :comp:  :hola: