【问题标题】:iphone “EXC_BAD_ACCESS” when doing sqlite3_open(":memory:", &memory_db)执行 sqlite3_open(":memory:", &memory_db) 时的 iphone “EXC_BAD_ACCESS”
【发布时间】:2011-02-25 06:12:14
【问题描述】:

在为 iphone 开发时,我得到“EXC_BAD_ACCESS”

    sqlite3         *memory_db;
    if (sqlite3_open(":memory:", &memory_db) != SQLITE_OK)
    {
        sqlite3_close(memory_db);
        NSAssert(0, @"Failed to open in-memory database");
}

也在做

    NSString * memory_db_filename = @":memory:";
    if (sqlite3_open([memory_db_filename UTF8String], &memory_db) != SQLITE_OK)
    {
        sqlite3_close(memory_db);
        NSAssert(0, @"Failed to open in-memory database");
    }

没有帮助。 iphone上没有内存中的sqlite3数据库吗?

感谢任何cmets!

【问题讨论】:

  • ':memory:' 似乎是一个奇怪的文件名名称,您确定可以创建它吗?为什么不直接将其命名为 memory.db 或类似名称?
  • 请发布有关您所看到的崩溃的更多详细信息(例如,行号、堆栈跟踪等)
  • ':memory:' 旨在创建一个内存数据库。行号的好主意,检查后,我意识到错误来自错误的字符串,格式更进一步。非常感谢!!!

标签: iphone sqlite memory


【解决方案1】:

EXC_BAD_ACCESS 不是 SQLite3 错误代码。见this SO question

【讨论】:

  • 确实如此。抱歉,错误来自代码中的某些行,我没有意识到。非常感谢!
【解决方案2】:

:memory:database 由所有 sqlite 实现直接支持

【讨论】:

    猜你喜欢
    • 2014-10-26
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多