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

Problema al adicionar datatable a dataset

Estas en el tema de Problema al adicionar datatable a dataset en el foro de .NET en Foros del Web. Hola estoy tratando de adicionar 2 datatables a un dataset, los datatables los traigo de 2 dataset diferentes y cuando los trato de adicionar a ...
  #1 (permalink)  
Antiguo 09/06/2005, 09:54
 
Fecha de Ingreso: septiembre-2003
Ubicación: colombia
Mensajes: 374
Antigüedad: 20 años, 8 meses
Puntos: 0
Problema al adicionar datatable a dataset

Hola

estoy tratando de adicionar 2 datatables a un dataset,

los datatables los traigo de 2 dataset diferentes y cuando los trato de adicionar a un solo dataset me dice que el datatable ya pertenes a otro dataset.

el codigo es el siguiente:

DataTable dt1 = new DataTable("ConsOrdeServ");
DataTable dt2 = new DataTable("OrdeRequ");
DataSet ldsDatos = new DataSet();
dt1 = procedimiento().Tables[0];
dt2 = procedimiento().Tables[0];
dt1.TableName = "ConsOrdeServ";
dt2.TableName = "OrdeRequ";
ldsDatos.Tables.Add(dt1);
ldsDatos.Tables.Add(dt2);
__________________
J-.-`.::
  #2 (permalink)  
Antiguo 09/06/2005, 16:52
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Te manda ese error porque en realidad estás intentado agregar el mismo DataTable a otro DataSet, me explico:

Al hacer esta asignación:
dt1 = procedimiento().Tables[0];

En realidad lo único que estás haciendo es copiar la referencia de "procedimiento().Tables[0]", para que se copie correctamente podrías usar los métodos Clone o Copy del DataTable.:

Tu código probablemente debería lucir de la siguiente manera:
dt1 = procedimiento().Tables[0].Copy();

Saludos
PS. Te sugiero que leas un poco sobre "Value Types" y "Reference Types"
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 10/06/2005, 07:53
 
Fecha de Ingreso: septiembre-2003
Ubicación: colombia
Mensajes: 374
Antigüedad: 20 años, 8 meses
Puntos: 0
ok gracias, lo haré
__________________
J-.-`.::
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 01:39.