Piszę własny program w c++, którego jedną z funkcji będzie odczytywanie historii ostatnio odwiedzonych stron.
Napotkałem jednak pewien problem. Podczas otwarcia bazy (places.sqlite) i próby wyciągnięcia informacji dostaje wiadomość o błędzie: "file is encrypted or is not a database". Czy historia w Firefoxie jest w jakiś sposób szyfrowana czy popełniam jakiś błąd w kodzie programu?
- Kod: Zaznacz cały
int main(int argc, char* argv[])
{
sqlite3 *ffHistory;
char *ErrorMsg = 0;
int returnCode;
int nRows, nCols;
char** result;
returnCode = sqlite3_open("places.sqlite", &ffHistory);
//sqlite3_exec(pdb, "SELECT * FROM moz_places where last_visit_date >= 1314630000000000", SQLite_Records, 0, &pszErrMsg);
sqlite3_get_table(ffHistory, "SELECT * FROM moz_places", &result, &nRows, &nCols, &ErrorMsg);
std::cout << "Result: [" << nRows << ", " << nCols << "]" << std::endl;
for (int i = 0; i <= nRows; i++) {
for (int j = 0; j < nCols; j++) {
std::cout << result[i * nCols + j] << "\t";
}
std::cout << std::endl;
}
sqlite3_free_table(result);
if(ErrorMsg != 0) {
fprintf(stderr, "Błąd w zapytaniu SQL: %s\n", ErrorMsg);
}
sqlite3_close(ffHistory);
getch();
return 0;
}