Obtener un Dataset de DataTable

06/02/2009 - 11:42 por TioCar | Informe spam
Me explico mejor.
Yo utilizo DataSet con tipo.


Quiero de un DataTABLE Obtener su DataSet, ¿porque?. Porque para un informe
de crystal he de pasar un Dataset sin tipo. He realizado algo como esto pero
no carga én él el contenido;

DataSet ds = new DataSet();
ds = DataTableSocios.DataSet;

¿Pueden ayudarme?

Gracias!
 

Leer las respuestas

#1 Alberto Poblacion
06/02/2009 - 12:50 | Informe spam
"TioCar" wrote in message
news:
Yo utilizo DataSet con tipo.

Quiero de un DataTABLE Obtener su DataSet, ¿porque?. Porque para un
informe de crystal he de pasar un Dataset sin tipo. He realizado algo como
esto pero no carga én él el contenido;

DataSet ds = new DataSet();
ds = DataTableSocios.DataSet;



Una pequeña duda: Dices al principio que utilizas un DataSet con tipo, y
luego hablas acerca de un DataTable. Este DataTable ¿pertenece al mencionado
DataSet con tipo? Si es asi, para pasarlo a un DataSet sin tipo lo único que
necesitas es asignar el dataset con tipo al dataset sin tipo, ya que una
clase hija siempre puede asignarse a la madre:

DataSet ds = miDataSetConTipo;

Si quieres obtenerlo desde la tabla, la propiedad DataSet te saca el dataset
al que pertenece la tabla:

DataSet ds = DataTableSocios.DataSet;

Esto es exactamente lo que estabas haciendo en las sentencias que has puesto
más arriba (nótese que el "new" que has puesto no vale para nada, ya que
acto seguido reemplazas la referencia con la del datatable). Después de
ejecutar esta sentencia, la variable "ds" apunta exactamente al MISMO
DataSet al que pertenecía la tabla, por lo que no tiene ningún sentido lo de
"no carga el contenido". No tiene que "cargar" nada, símplemente es una
nueva referencia a los datos que ya estaban cargados. Si el DataSet no tiene
datos en ese momento, es porque el DataTableSocios no tenía datos tampoco.
Puedes verificarlo ejecutando el programa con el debugger de Visual Studio.
Cuando haya ejecutado esa sentencia, examina el ds y el DataTableSocios con
el debugger, y verás que contienen lo mismo.

Preguntas similares