Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/04/2008, 10:26
JkCastro
 
Fecha de Ingreso: febrero-2008
Mensajes: 3
Antigüedad: 17 años, 1 mes
Puntos: 0
Data Table already belongs to another dataset

Buenos dias...solicito de su ayuda...
yo estoy tratando de que aun DataSet asignarle dos dataTables, lo estoy haciendo de la siguiente manera.. 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...
si alguien me puede dar una manitoooo

Este es mi Procedicimiento para la generacion del Dataset Con los Datatable.

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;
}