hello again, ok, right after posting to the list, I have found the mistake. Obviously it needs to be:
sqlite3_stmt** stmt = (sqlite3_stmt**) malloc (sizeof(sqlite3_stmt*)); thanks list! :) On Tue, 11 Oct 2011 11:27:41 +0200 enjoythe...@hushmail.com wrote: >hello list, > >I have a question regarding prepared statements. I'm fairly new to > >sqlite3 and it's already pretty late, so if I'm overlooking >something obvious please forgive me :) I'm on Windows 7 x64 and >using sqlite-3070800 (amalgamation). > >I'm trying to prepare an insert statement, that I will reuse many >times using bound parameters. In a short test application, if I >prepare the statement within the main function everything is fine: > >CODE >... >int rc=0; >pDb = (sqlite3*) malloc (sizeof(sqlite3*)); >stmt = (sqlite3_stmt*) malloc (sizeof(sqlite3_stmt*)); >... > >if((rc=sqlite3_prepare_v2(pDb, INSERT_STMT , -1, &stmt, NULL)) != >SQLITE_OK){ > /* ... error ... */ >} > >sqlite3_step(stmt); >... >\CODE > >However, if I try throw this code in a separate function like >this, > >CODE >int prepareStatement(sqlite3_stmt* stmt, sqlite3* pDb){ > > int rc=0; > > if((rc=sqlite3_prepare_v2(pDb, INSERT_STMT , -1, &stmt, NULL)) != > >SQLITE_OK){ > /* ... error ... */ > } > return 0; >} >\CODE > >it fails as soon as I call sqlite3_step(stmt) afterwards. The >debugger stops at: > >sqlite3_mutex_enter(db->mutex); > >At first I thought I was doing smthg wrong during memory >allocation, but everything seems to be fine there. I'm sure I'm >overlooking an obvious mistake. Maybe somebody can give me a hint! > >thanks, >John > >_______________________________________________ >sqlite-users mailing list >sqlite-users@sqlite.org >http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users