Foros del Web » Programación para mayores de 30 ;) » .NET »

Data Table already belongs to another dataset

Estas en el tema de Data Table already belongs to another dataset en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 21/04/2008, 10:26
 
Fecha de Ingreso: febrero-2008
Mensajes: 3
Antigüedad: 16 años, 2 meses
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;
}
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 05:08.