在我的应用程序中,我使用的数据库是加密的。使用下面的代码,我使用下面的代码打开数据库。数据库正在打开并检查密钥。但如果它是@“PRAGMA user_version;”查询,它返回错误代码26.请你帮助我。
if (sqlite3_open_v2(dbpath, &database, SQLITE_OPEN_READWRITE| SQLITE_OPEN_CREATE, NULL) == SQLITE_OK)
{
if(sqlite3_key(database, [key UTF8String], strlen([key UTF8String])) == SQLITE_OK)
{
NSString *tString = @"PRAGMA user_version;";
int resultCode = sqlite3_prepare_v2(_database, [tString UTF8String], NULL, NULL, NULL);
}
}
答案 0 :(得分:0)
错误代码26是SQLITE_NOTADB
。你的密钥可能不正确。根据文件:
如果指定了错误的密钥,则不会立即收到错误消息。但是,当您第一次尝试访问数据库时,您将收到
SQLITE_NOTADB
错误消息,其中包含"文件已加密或不是数据库"。