データの保存にsqliteデータベースを使用していますが、クエリの挿入中に「データベースがロックされています」というエラーが表示されます。コードは次のとおりです
sqlite3_stmt *statement;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
const char *dbpath = [[defaults objectForKey:@"dbpath"] UTF8String];
if (sqlite3_open(dbpath, &studentDB22) == SQLITE_OK)
{
NSString *insertSQL = [NSString stringWithFormat:@"INSERT INTO Emotion_videos (name) VALUES (\"%@\")",filePath];
const char *query_stmt = [insertSQL UTF8String];
if (sqlite3_prepare_v2(studentDB22, query_stmt, -1, &statement, NULL) == SQLITE_OK)
{
NSLog(@"shi h2345");
if (sqlite3_step(statement) == SQLITE_ROW)
{
printf( "could not prepare statement: %s\n", sqlite3_errmsg(studentDB22));
}
}
sqlite3_finalize(statement);
}
else
{
printf( "could not prepare statement: %s\n", sqlite3_errmsg(studentDB22));
}
データを 2 ~ 3 回挿入できますが、再度実行するとデータベース ロック エラーが表示されます。