Clonar DataSet

06/04/2004 - 09:29 por Anonimo | Informe spam
Hola amigos.

intento clonar un Dataset pero tengo problemas, tengo
este código más o menos

...
DataSet ds1 = ds.Clone();
DataRow NuevaFila = ds1.Tables[0].NewRow();
NuevaFila["CD_PERSONA"] = DBNull.Value;
NuevaFila["DS_NOMBRE"] = "[Ninguno]";

ds1.Tables[0].Rows.Add(NuevaFila);
foreach (DataRow myRow in ds.Tables[0].Rows)
{
ds1.Tables[0].Rows.Add(myRow);
}

Cuando intento hacer

ds1.Tables[0].Rows.Add(myRow);

me falla, y el mensaje de error me dice que no se puede
insertar porque esa fila ya está en otra tabla.

Cómo podría hacerlo ?

Preguntas similare

Leer las respuestas

#6 Carlos Rodríguez
08/04/2004 - 12:00 | Informe spam
Hola,
Puedes usar la funcion ImportRow del DataTable o puedes usar la propiedad
ItemArray del DataRow.

Ejemplo:
///Con ImportRow
ds1.Tables[0].ImportRow (NuevaFila);

/// Con ItemArray
ds1.Tables[0].Rows.Add(NuevaFila.ItemArray);



escribió en el mensaje
news:195dc01c41c8f$02bf9eb0$
Entonces para copiar los datos de una fila en el nuevo
dataset, cómo se haría ? Ya me perdí.



Solo me gustaria remarcar que el metodo Clone() no hace
una copia de los datos, hace una copia de las


referencias
a los datos, de tal forma que tendriamos 2 juegos de
apuntadores.

Al clonar la Fila

ds1.Tables[0].Rows.Add(myRow.Clone());

también me copia los datos ? o los pierdo ??

Cómo podría pasar las filas (conlos datos, sus valores
correspondientes a las columnas) de un dataset a otro.

Si clono dataset solo clona estructura no datos.

Si clono fila (row) qué pasaría ?

Gracias. Espero me aclaren mi confusión.





Igual que has clonado el dataset deberias clonar la


fila,
una fila no puede estar en 2 tablas diferentes, solo


puede
tener un padre, osease no puede estar en 2 colecciones




a
la vez.

ds1.Tables[0].Rows.Add(myRow.Clone());

Espero que te funcione.


Hola amigos.

intento clonar un Dataset pero tengo problemas, tengo
este código más o menos


DataSet ds1 = ds.Clone();
DataRow NuevaFila = ds1.Tables[0].NewRow();
NuevaFila["CD_PERSONA"] = DBNull.Value;
NuevaFila["DS_NOMBRE"] = "[Ninguno]";

ds1.Tables[0].Rows.Add(NuevaFila);
foreach (DataRow myRow in ds.Tables[0].Rows)
{
ds1.Tables[0].Rows.Add(myRow);
}

Cuando intento hacer

ds1.Tables[0].Rows.Add(myRow);

me falla, y el mensaje de error me dice que no se






puede
insertar porque esa fila ya está en otra tabla.

Cómo podría hacerlo ?



.



.



.



.

Respuesta Responder a este mensaje
#7 Fabián Aguirre
08/04/2004 - 15:59 | Informe spam
No has probado el metodo Copy?? copia estructura y datos.

DataSet ds1 = ds.Copy();

Saludos

Fabián Aguirre - DESAMD LTDA;
escribió en el mensaje
news:195dc01c41c8f$02bf9eb0$
Entonces para copiar los datos de una fila en el nuevo
dataset, cómo se haría ? Ya me perdí.



Solo me gustaria remarcar que el metodo Clone() no hace
una copia de los datos, hace una copia de las


referencias
a los datos, de tal forma que tendriamos 2 juegos de
apuntadores.

Al clonar la Fila

ds1.Tables[0].Rows.Add(myRow.Clone());

también me copia los datos ? o los pierdo ??

Cómo podría pasar las filas (conlos datos, sus valores
correspondientes a las columnas) de un dataset a otro.

Si clono dataset solo clona estructura no datos.

Si clono fila (row) qué pasaría ?

Gracias. Espero me aclaren mi confusión.





Igual que has clonado el dataset deberias clonar la


fila,
una fila no puede estar en 2 tablas diferentes, solo


puede
tener un padre, osease no puede estar en 2 colecciones




a
la vez.

ds1.Tables[0].Rows.Add(myRow.Clone());

Espero que te funcione.


Hola amigos.

intento clonar un Dataset pero tengo problemas, tengo
este código más o menos


DataSet ds1 = ds.Clone();
DataRow NuevaFila = ds1.Tables[0].NewRow();
NuevaFila["CD_PERSONA"] = DBNull.Value;
NuevaFila["DS_NOMBRE"] = "[Ninguno]";

ds1.Tables[0].Rows.Add(NuevaFila);
foreach (DataRow myRow in ds.Tables[0].Rows)
{
ds1.Tables[0].Rows.Add(myRow);
}

Cuando intento hacer

ds1.Tables[0].Rows.Add(myRow);

me falla, y el mensaje de error me dice que no se






puede
insertar porque esa fila ya está en otra tabla.

Cómo podría hacerlo ?



.



.



.



.

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