hacer copia de las filas de una tabla

05/08/2005 - 17:49 por Miko_tnt | Informe spam
Buenas... Tengo el siguiente problema que no he podido resolver:

debo hacer que una datatale(datable1) tenga la misma estructura que la tabla
de un dataset, luego recorro una tabla del dataset y dentro de este recorrido
le hago otro recorrido a otra tabla del mismo dataset, despues le comparo un
campo de la primera tabla con un campo de la segunda y cuando son iguales
saca una copia de la fila de la primera tabla y se la asigna a datatable1 y
al final agrega la datatable1 a una coleccion de tablas y vacia la datatable
para seguir con el siguiente elemento. El codigo es facil de entender y es el
siguiente:


datatable1 = ds.Tables(0).Clone//hace que la estructura sea la misma

For Each datarow1 In dataset1.Tables(0).Rows
datatable1.clear()
For Each datarow2 In dataset1.Tables(1).Rows
If Trim(datarow1(0)) = Trim(datarow2(0)) Then
datatable1.ImportRow(datarow1)
End If
Next
coleccionDTablas.add(datatable1)

Next

el codigo no muestra error pero se me presentan 2 inconvenientes. El primero
esta en que cuando hago "datatable1.ImportRow(datarow1)" saca una copia de la
fila que deberia pero en la copia nada mas me deja la primera columan con el
nombre que es y el resto de los campos me los deja en null.
El segundo problema esta en que siempre (para toda la coleccion de tablas)
queda agregada la misma tabla, (la ultima que se creo), no c si sea porke
solo le hago clear y a esta le cambio las columnas, mejor explicado: cada vez
que agrego una tabla agrega la que deberia, pero al agregar la siguiente
tabla deja todas la tablas que se han agregado igual a la ultimo que se agrego

ojala hallan entendido mi problema y POR FAVOR si alguien sabe como
solucionar algo de esto ayudeme por favor

MUCHAS GRACIAS

Preguntas similare

Leer las respuestas

#1 Angel. E. Ruiz. Pastor
05/08/2005 - 20:00 | Informe spam
amigo por que no realiza ds.Tables(0).copy y listo? y comprara row de la
tabla copia y tabla org? creo que es mas sencillo...
Saludos cordiales,
Ángel Ruiz
MCP C#
MVP de Visual Basic desde 2004
Caracas - Venezuela
"El conocimiento es un bien, que crece a medida que se comparte"
"Miko_tnt" escribió en el mensaje
news:
Buenas... Tengo el siguiente problema que no he podido resolver:

debo hacer que una datatale(datable1) tenga la misma estructura que la
tabla
de un dataset, luego recorro una tabla del dataset y dentro de este
recorrido
le hago otro recorrido a otra tabla del mismo dataset, despues le comparo
un
campo de la primera tabla con un campo de la segunda y cuando son iguales
saca una copia de la fila de la primera tabla y se la asigna a datatable1
y
al final agrega la datatable1 a una coleccion de tablas y vacia la
datatable
para seguir con el siguiente elemento. El codigo es facil de entender y es
el
siguiente:


datatable1 = ds.Tables(0).Clone//hace que la estructura sea la misma

For Each datarow1 In dataset1.Tables(0).Rows
datatable1.clear()
For Each datarow2 In dataset1.Tables(1).Rows
If Trim(datarow1(0)) = Trim(datarow2(0)) Then
datatable1.ImportRow(datarow1)
End If
Next
coleccionDTablas.add(datatable1)

Next

el codigo no muestra error pero se me presentan 2 inconvenientes. El
primero
esta en que cuando hago "datatable1.ImportRow(datarow1)" saca una copia de
la
fila que deberia pero en la copia nada mas me deja la primera columan con
el
nombre que es y el resto de los campos me los deja en null.
El segundo problema esta en que siempre (para toda la coleccion de tablas)
queda agregada la misma tabla, (la ultima que se creo), no c si sea porke
solo le hago clear y a esta le cambio las columnas, mejor explicado: cada
vez
que agrego una tabla agrega la que deberia, pero al agregar la siguiente
tabla deja todas la tablas que se han agregado igual a la ultimo que se
agrego

ojala hallan entendido mi problema y POR FAVOR si alguien sabe como
solucionar algo de esto ayudeme por favor

MUCHAS GRACIAS

Respuesta Responder a este mensaje
#2 Miko_tnt
05/08/2005 - 20:59 | Informe spam
Angel porke segun entiendo cipy me va a copiar la tabla con todas la filas y
lo que necesito es segun la condicion voy llenando creando tablas diferentes
y estas las estoy metiendo en una coleccion, entonces al hacer copy y comparo
esta me va a servir solo la primera copia pero despues para la segunda tabla
que valla a meter voy a tener lel mimso problema y es que todas las tablas
de la coleccion van a quedar como quede la ultima



"Angel. E. Ruiz. Pastor" escribió:

amigo por que no realiza ds.Tables(0).copy y listo? y comprara row de la
tabla copia y tabla org? creo que es mas sencillo...
Saludos cordiales,
Ángel Ruiz
MCP C#
MVP de Visual Basic desde 2004
Caracas - Venezuela
"El conocimiento es un bien, que crece a medida que se comparte"
"Miko_tnt" escribió en el mensaje
news:
> Buenas... Tengo el siguiente problema que no he podido resolver:
>
> debo hacer que una datatale(datable1) tenga la misma estructura que la
> tabla
> de un dataset, luego recorro una tabla del dataset y dentro de este
> recorrido
> le hago otro recorrido a otra tabla del mismo dataset, despues le comparo
> un
> campo de la primera tabla con un campo de la segunda y cuando son iguales
> saca una copia de la fila de la primera tabla y se la asigna a datatable1
> y
> al final agrega la datatable1 a una coleccion de tablas y vacia la
> datatable
> para seguir con el siguiente elemento. El codigo es facil de entender y es
> el
> siguiente:
>
>
> datatable1 = ds.Tables(0).Clone//hace que la estructura sea la misma
>
> For Each datarow1 In dataset1.Tables(0).Rows
> datatable1.clear()
> For Each datarow2 In dataset1.Tables(1).Rows
> If Trim(datarow1(0)) = Trim(datarow2(0)) Then
> datatable1.ImportRow(datarow1)
> End If
> Next
> coleccionDTablas.add(datatable1)
>
> Next
>
> el codigo no muestra error pero se me presentan 2 inconvenientes. El
> primero
> esta en que cuando hago "datatable1.ImportRow(datarow1)" saca una copia de
> la
> fila que deberia pero en la copia nada mas me deja la primera columan con
> el
> nombre que es y el resto de los campos me los deja en null.
> El segundo problema esta en que siempre (para toda la coleccion de tablas)
> queda agregada la misma tabla, (la ultima que se creo), no c si sea porke
> solo le hago clear y a esta le cambio las columnas, mejor explicado: cada
> vez
> que agrego una tabla agrega la que deberia, pero al agregar la siguiente
> tabla deja todas la tablas que se han agregado igual a la ultimo que se
> agrego
>
> ojala hallan entendido mi problema y POR FAVOR si alguien sabe como
> solucionar algo de esto ayudeme por favor
>
> MUCHAS GRACIAS
>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida