Jeg tror ikke der er noget i vejen med linje 14. SQL'en der udskrives i linje 15 er jo 100% korrekt. Så vidt jeg har forstået sprintf, så er første parameter den variable, resultatet skal gemmes i. Og det ser da ud til at virke... Jeg tror stadig fejlen er i linje 16. Det er også der den segfaulter...
Jeg veksler mellem NULL og 0, fordi jeg selv foretrækker NULL, men ikke har rettet det når jeg har kopieret fra eksempler. ;-)
Det er muligt at det er et compiler-problem, jeg har ikke selv kompileret sqlite. Jeg vil prøve en gang mere i morgen om jeg kan finde kildekoden til seneste release, ellers må jeg jo prøve med CVS'en.
:-) jeg har downloaded sqlite og lavet en test i MSVC, og det virker (cool sql-interface!!...)
formatet for callback-funktionen er :
static int callback(void *NotUsed, int argc, char **argv, char **azColName) eksempel (fra deres hjemmeside) : static int callback(void *NotUsed, int argc, char **argv, char **azColName) { int i; for(i=0; i<argc; i++){ printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL"); } printf("\n"); return 0; } funktionen kører gennem alle rows i resultatet og printer dem ud.
Den får printf til at ville gemme antal tegn skrevet i den adresse rc angiver (hvsi rc er nul så i adresse 0) - det skal nok give en segmentation fault.
Damn... Synes ellers jeg havde prøvet at sætte noget ind mellem de to linjer, som ikke blev udført før segfault...
Men nu virker det, tak for hjælpen. :) Sovsekoder, lav lige et svar...
> cool sql-interface!!...
Ja, sqlite ser ud til at være et herligt værktøj. Det har mindst halveret C++-arbejdet med det program, jeg er i gang med. :)
Men det med en callback-funktion, det kan jeg ikke lige se det smarte i. Jeg ville jo læse resultatet i fx. en while-løkke, i samme funktion, som db-kaldet er i. Men når jeg har arbejdet lidt med det, kan det da godt være, at jeg kan se fidusen. :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.