Hello again, Thank for your answers: first of all thank you who pointed that i should use a close(db) at line 17 and call sqlite3_free_table(result) even if there was an error, but these solutions didn´t solve my problem (the execution code never reached that point because ret value was always SQLITE_OK). Do anyone of you work with SQLite on Windows CE? if you guys work with it then it might be interesting if you try my code (with a quite big table) and examine the memory using the remote performance monitor of EVC 4.0 under the tools menu.
Thank you everyone Eduardo Esteban ---Mensaje original---You might look to recoding your application to not use get_table, a memory hog. Instead use step in a loop. Jay Sprenkle wrote: > On 3/14/06, [EMAIL PROTECTED] wrote: > >>Hi all, >>I am having real problems with SQLite on Windows CE (.NET 4.1 and Pocket PC 2003). > > >> ret = sqlite3_get_table(db, "SELECT * FROM artic", &result, &rows, &cols, &errmsg); >> if (ret != SQLITE_OK) >> { >> MessageBox(_T("Error en SQL"),_T("Error"),MB_OK); >> sqlite3_free(errmsg); > > > You might call sqlite3_free_table(result) here. Without looking at the source > code it might have allocated a result even though there was an error. > > > >>return; >> } >> else { >> MessageBox(_T("Erroron SQL sentence"),_T("Error"),MB_OK); >> } >>sqlite3_free_table(result); >> sqlite3_close(db); >>} > > > > Did you look at the source code for sqlite3_get_table()? > It's easy to get and may be very helpful. Automóviles, telefonía, imagen y sonido, belleza... ¡encuentra gratis todo lo que necesitas! http://clasificados.wanadoo.es/