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

Posted

技术标签:

【中文标题】sqlite 错误 14 [无法打开数据库文件] iphone xcode【英文标题】:sqlite error 14 [unable to open database file] iphone xcode 【发布时间】:2011-05-17 15:41:49 【问题描述】:

您好,我在 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);

...

【问题讨论】:

你能提供一些代码来展示你是如何使用 sqlite 的吗? 您在此处编写的函数看起来是正确的。显示 1.openDatabase 和 2.getDBPath 的函数定义。我倾向于认为您的代码中缺少部分。提供这两个函数,我们应该可以很快搞清楚这个。 【参考方案1】:

你需要试试我在post的回答

并确保你在你的应用程序中编写两个函数(post),这样你的应用程序将打开一次数据库

让我知道它是否有效

干杯:)

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于sqlite 错误 14 [无法打开数据库文件] iphone xcode的主要内容,如果未能解决你的问题,请参考以下文章

SQLite无法在频繁的“SELECT”查询中打开数据库文件(代码14)

Sqlite 错误无法打开数据库文件

带有 Qt 的 SQLite 数据库无法发布可执行文件

SQLite - 无法打开数据库文件

apache flask sqlite 无法在 ubuntu 上打开数据库文件

FMDB:错误 14,无法打开数据库文件