Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/04/2008, 09:42
JkCastro
 
Fecha de Ingreso: febrero-2008
Mensajes: 3
Antigüedad: 16 años, 10 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;

}