Добрый день, всем!
Что делаю не так?
if(условие1){
sqlite3 *db;
sqlite3_open(mysqlitefile, &db);
zRequest = "SELECT ... ? ...";
sqlite3_stmt *stmt;
sqlite3_prepare_v2(db, zRequest,-1,&stmt,0);
sqlite3_bind_...;
sqlite3_step(stmt);
val1 = sqlite3_column_double(stmt,0);
...
sqlite3_reset(stmt);
sqlite3_finalize(stmt);
sqlite3_close(db);
}
// ...
if(условие2){
sqlite3 *db;
sqlite3_open(mysqlitefile, &db);
zRequest = "UPDATE ... ? ...";
sqlite3_stmt *stmt;
sqlite3_prepare_v2(db, zRequest,-1,&stmt,0);
sqlite3_bind_...;
sqlite3_step(stmt); // вот тут ошибка database is locked
...
sqlite3_finalize(stmt);
sqlite3_close(db);
}
P.S. ничего не меняется при от открытии базы во втором случае, с явным флагом о записи:
sqlite3_open_v2(mysqlitefile, &db, SQLITE_OPEN_READWRITE, NULL)