Autor Tema: Liberar Memoria de un DataSet  (Leído 5154 veces)

0 Usuarios y 1 Visitante están viendo este tema.

JJGG

  • Mensajes: 1
  • Liked: 0
Liberar Memoria de un DataSet
« : noviembre 24, 2006, 09:44:14 am »
Hola comunidad, quiero presentarles el siguiente problema para ver si me puede ayudar: Estoy desarrollando una aplicación en VB.NET 2003/2005 para un dispositivo movil (Windows CE 5.0) en el cual estoy utilizando SQL 2005 Mobil Edition como base de datos. Puedo manipular, accesar y actualizar datos sin problema, el detalle que he visto es que al realizar QUERYS a la base de datos siempre consume memoria y lo hace a tal grado que se llega a bloquear el dispositivo movil por falta de esta.

Ya sé que después de un Query tengo que liberar recursos y lo hago mediante el método DISPOSE, pero el resultado es que no libera memoria y solo lo hace hasta que se cierra el programa.

La rutina del query es muy sencilla:

   sSql = "SELECT * FROM TABLA WHERE TABLA.CAMPO='" & sCadena & "'"
        Dim cnCE As SqlCeConnection = New SqlCeConnection("Data source=\My Documents\BaseDatos.sdf")
   Dim daCE as SqlCeDataAdapter = New SqlCeDataAdapter(sSql,CnCe)
   Dim dsCE as DataSet = New DataSet

        Try
 
            cnCE.Open()
       daCe.Fill(dsCE)
       if dsCe.Tables(0).Rows.Count=0 Then
      msgbox("Datos no Encontrados")
       End If

        Catch ex As Exception
                MsgBox ex.Message
        Catch exSQLCE As SqlCeException
                MsgBox exSQLCE.Message
        End Try
 
   dsCe.Clear
   dsCe.Dispose 'El método dispose solo esta implementado en VB.NET 2005, no así en 2003
   daCe.Dispose
        cnCE.Close()
        cnCE.Dispose()
   dsCE = Nothing
   daCe = Nothing
        cnCE = Nothing
     End Sub

He buscado información al respecto en la web pero lo único que encuentro es a más personas con el mismo problema (No pueden liberar memoria después de realizar QUERYS).

Alguno de ustedes puede ayudarme?

Gracias, saludos