![]() |
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; } |
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 |
| La zona horaria es GMT -6. Ahora son las 23:04. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.