La Web del Programador: Comunidad de Programadores
 
    Pregunta:  3310 - LIBERAR MEMORIA USADA CON UN RECORDSET
Autor:  Oscar Rodrigo
Quiero tener programa que constantemente actualice una Base de Datos.
Tengo un timer que cada vez que salta graba unos registros.

Mi problema es que cada vez que grabo "gasta" memoria al realizar el select del recordset.
Esa memoria no consigo liberarla del todo
(ni con el método close, ni iguialándolo a nothing), con lo que se desborda al cierto tiempo.

La única manera de hacerlo que he encontrado ha sido metiendo el código de acceso a la base de datos en un formulario que ejecuta ese código y luego hacer que se descaege, pero la verdad me parece una chapuza.

Gracias a quien pueda ayudarme.

  Respuesta:  Jaime Conde
Si estas utilizando una base de datos SQL intenta grabar los datos con instrucciones SQL puras sin utilizar los recordsets, ya que los recordsets utilizan mas recursos en el sistema y son mas lentos, si no lo has hecho escribeme y te mando el codigo de como cargar los valores en la instruccion SQL, es posible que necesites usar arreglos...

Saludos y suerte.

  Respuesta:  hernan casadesus
Hola,

Con los datos que me das, no es muy facil darte una solucion, porque necesitaria ver aunque sea parte del codigo. Pero lo que puedo hacer es darte consejos:

Controla, que no se esten haciendo pedidos al mismo tiempo, y que cuando se borren se borren todos, porque si haces varios a la vez puede ser que solo estes borrando algunos.

Como vez, si no veo algo mas, me es imposible imaginarme tu problema.

Necesito saber que es lo que haces, para saber que haces mal. porque si estas cerrando la tabla, y despues asignandole Nothing, entonces, no deberias tener problemas de memoria.