Borrar un datatable de memoria

14/07/2008 - 23:26 por Jose Alberto | Informe spam
Tengo un form con un datatable (en campo privado) que lo inicializo (new) y
lleno (fill) en el load del form.
Pero luego en algun momento debe volver a rellenarse el datatable con datos
actualizados.

La pregunta es como hago para que se libere toda la memoria asociada a ese
campo privado y volver a hacer un new y otra vez fill sobre el mismo campo ?
Vi el clear pero eso me borra los registros. Como el contenido del campo
completo?
 

Leer las respuestas

#1 Alberto Poblacion
14/07/2008 - 23:06 | Informe spam
"Jose Alberto" wrote in message
news:
Tengo un form con un datatable (en campo privado) que lo inicializo (new)
y lleno (fill) en el load del form.
Pero luego en algun momento debe volver a rellenarse el datatable con
datos actualizados.

La pregunta es como hago para que se libere toda la memoria asociada a ese
campo privado y volver a hacer un new y otra vez fill sobre el mismo campo
?
Vi el clear pero eso me borra los registros. Como el contenido del campo
completo?



Símplemente vuelve a asignarle un new DataTable. El campo privado es
simplemente una referencia al objeto. Cuando haces un new se crea un
datatable nuevo. Si se lo asignas al campo privado, éste deja de referirse
al antiguo datatable y, si ese datatable antiguo ya no tiene más
referencias, queda a disposición del Garbage Collector que automáticamente
lo elimina cuando escasea la memoria libre.

private DataTable dt;
...
dt = new DataTable();
dataAdapter1.Fill(dt);
...
//Para rellenarlo con otros datos:
dt = new DataTable();
dataAdapter2.Fill(dt);

Preguntas similares