Foros del Web » Programando para Internet » ASPX (.net) »

Data Table Already Belongs To Another Dataset

Estas en el tema de Data Table Already Belongs To Another Dataset en el foro de ASPX (.net) en Foros del Web. hola...quisiera si alguien me puede colaborar... la idea es q quiero a un dataset adicionarle varios datatables. mi codigo es el siguiente: pero cuando llego ...
  #1 (permalink)  
Antiguo 21/04/2008, 09:42
 
Fecha de Ingreso: febrero-2008
Mensajes: 3
Antigüedad: 16 años, 2 meses
Puntos: 0
Data Table Already Belongs To Another Dataset

hola...quisiera si alguien me puede colaborar...
la idea es q quiero a un dataset adicionarle varios datatables.
mi codigo es el siguiente:
pero cuando llego a este punto :

ds.Tables.Add(dt1); //Adiciono al Dataset la tabla de resultados

ds.Tables.Add(dt); //Adiciono al Dataset la tabla con los precios e impuestos



me genera un error donde me dice q (DATA TABLE ALREADY BELONGS TO ANOTHER DATASET)

YA HE PROBADO CON (DT1.COPY) (DT.CLONE)

PERO NADA..SIGO EN LO MISMO...

SERA Q ME PUEDES DAR UNA MANITO...GRACIAS...



private DataSet comparaInventario(DataTable dt, DataTable dt1,string strCodcliente)

{

DataSet ds = new DataSet ();

try

{

ds = f_GetMaterialInvPrecio2(dt, strCodcliente);

foreach (DataRow dr in dt.Rows)

{

foreach (DataRow dr2 in ds.Tables[0].Rows)

{

if (dr[0].ToString().Trim () == dr2[0].ToString().Trim())

{

if (System.Convert.ToDecimal(dr[1]) > System.Convert.ToDecimal(dr2[2]))

{

//Agrego a la tabla de errores

dt1 = cls.AddRegistroResultados(dt1, "El producto " + dr[0].ToString() + " no tiene inventario, Lo que hay en el inventario es " + dr2[2].ToString(), "", "");

dr[4] = "NO"; //Actualizo la tabla que envia la interfaz si hay o no hay inventario

dt.AcceptChanges();

}

else {

dr[4] = "SI";

dt.AcceptChanges();

}

break;

}

}

}

//Adiciono el impuesto y el precio unitario

foreach (DataRow dr in dt.Rows)

{

foreach (DataRow dr2 in ds.Tables[1].Rows)

{

if (dr[0].ToString().Trim() == dr2[0].ToString().Trim())

{

//Calculo el precio con la cantidad y lo coloco en la tabla para devolverlo

dr[3] = System.Convert .ToString (System.Convert .ToDecimal (dr2[1]) * System.Convert.ToDecimal (dr[1]));

dr[2] = dr2[4]; // Actualizo impuesto a cobrar

dt.AcceptChanges();

break;

}

}

}



ds.Tables.Add(dt1); //Adiciono al Dataset la tabla de resultados

ds.Tables.Add(dt); //Adiciono al Dataset la tabla con los precios e impuestos

}

catch (Exception ex)

{

//Agrego a la tabla de errores

ds.Tables.Add(cls.AddRegistroResultados(dt1, "Error en Compara Inventario: " + ex.Message, "", ""));

}

return ds;

}
  #2 (permalink)  
Antiguo 22/04/2008, 05:21
Avatar de Javier Santamaria  
Fecha de Ingreso: julio-2007
Mensajes: 296
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Data Table Already Belongs To Another Dataset

Antes de ese procedimiento intenta crear una nueva tabla y cargarle los valores de dt1. No se si servira con dt.copy o dt.clone porque a lo mejor te deja referencias de memoria a dt1 y por eso te da los errores.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:58.