iOS - sqliteDatabase - 返回错误代码26

时间:2014-06-11 08:45:17

标签: ios sqlite

在我的应用程序中,我使用的数据库是加密的。使用下面的代码,我使用下面的代码打开数据库。数据库正在打开并检查密钥。但如果它是@“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);

            }
        }

1 个答案:

答案 0 :(得分:0)

错误代码26是SQLITE_NOTADB。你的密钥可能不正确。根据文件:

  

如果指定了错误的密钥,则不会立即收到错误消息。但是,当您第一次尝试访问数据库时,您将收到SQLITE_NOTADB错误消息,其中包含"文件已加密或不是数据库"。