sqlite错误14 [无法打开数据库文件] iphone xcode

时间:2011-05-17 15:41:49

标签: iphone xcode sqlite

您好我在iphone中使用数据库。一段时间后,我的应用程序发出了此错误

sqlite error 14 [unable to open database file] 

我的应用程序运行良好,但有时会产生上述错误。解决方案是什么? 有代码:

[lovkid openDatabase:[appDelegate getDBPath]];
NSString *Flag = [NSString stringWithFormat:@"%@", appDelegate.selectimage];
    int recId = (int)appDelegate.Id;
    NSLog(@"recID = %d",appDelegate.Id);

    updateStmt1 = nil;
    if(updateStmt1 == nil) 
    {

        const char *sql ="UPDATE 'char' SET `Pic`=? WHERE `id`=?";
        if(sqlite3_prepare_v2(database1, sql, -1, &updateStmt1, NULL) != SQLITE_OK)
            NSAssert1(0, @"Error while creating add statement. '%s'", sqlite3_errmsg(database1));
    }
    sqlite3_bind_text(updateStmt1, 1, [Flag UTF8String], -1, SQLITE_STATIC);
    sqlite3_bind_int(updateStmt1, 2, recId);

    if(SQLITE_DONE != sqlite3_step(updateStmt1))
        NSAssert1(0, @"Error while inserting data. '%s'", sqlite3_errmsg(database1));
    else
        NSLog(@"no error");



    sqlite3_reset(updateStmt1);
    sqlite3_finalize(updateStmt1);

...

2 个答案:

答案 0 :(得分:1)

你需要从post

尝试我的答案

并确保你在你的应用程序delgate中写了两个函数(post),你的应用程序将打开DB一次

让我知道它是否有效

干杯:)

答案 1 :(得分:0)

可以通过更改存储数据库文件的目录中的设置来解决SQLite错误14。