1
をFirefoxのSQLiteデータベースを更新することができ、私はFirefoxの拡張をSQLiteのデータベースを更新するために、次のコードスニペットを有するていないFirefoxを実行して、MacOSのれるとき
NSString * profileFolderPath = [[ @"~" stringByExpandingTildeInPath] stringByAppendingPathComponent:@"/Library/Application Support/Firefox/Profiles"];
NSString *sqlitePath = [pathToProfileFolder stringByAppendingPathComponent:@"extensions.sqlite"];
int rc = sqlite3_open([sqlitePath UTF8String], &db);
if(rc)
{
NSLog(@"enable extension :%@\n",[NSString stringWithCString:sqlite3_errmsg(db)]);
sqlite3_close(db);
return NO;
}
else {
NSLog(@"opened entensions db successfully \n");
}
// check the values for active and userDisabled fields
rc = sqlite3_exec(db,"SELECT active,userDisabled FROM addon where id='myId.com'",sqliteCallback,0,&zErrMsg);
if (rc!=SQLITE_OK) {
NSLog(@"error quering the entensions database :%@\n",[NSString stringWithCString:zErrMsg]);
if(zErrMsg)
sqlite3_free(zErrMsg);
sqlite3_close(db);
return NO;
// handle error
}
Firefoxアプリケーションが走行状態でないとき、Iの値を読み取ることができまた、データベースを更新しますが、firefoxが実行されているときに、sqlite3_exec文が値5を返しているため、データベースから値を読み取ることができず、コンソールでエラーが表示されることがあります。 "
この問題を解決するにはどうすればよいですか。お手伝いください。