2011-12-08 3 views
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を返しているため、データベースから値を読み取ることができず、コンソールでエラーが表示されることがあります。 "

この問題を解決するにはどうすればよいですか。お手伝いください。

答えて

1

b/c firefoxは、自分の設定ファイル(および拡張子dbファイルはFirefoxの設定ファイルです)を実行していないときに開くことはできません。

関連する問題