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/