Retroceder   Foros del Web > Programación para sitios web > .NET > web forms

Respuesta
 
Herramientas Desplegado
Antiguo 21-abr-2008, 09:42   #1 (permalink)
JkCastro ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2008
Mensajes: 3
Triste 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;

}
JkCastro está desconectado   Responder Citando
Antiguo 22-abr-2008, 05:21   #2 (permalink)
Javier Santamaria no se puede cailificar en este momento
 
Avatar de Javier Santamaria
 
Fecha de Ingreso: julio-2007
Mensajes: 294
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
Javier Santamaria está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 10:08.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93