1
我试图做一个简单的应用程序,存储和显示闪存卡,但我有一段糟糕的时间让我的SQLite工作。数据库连接是好的,但是当我尝试插入时,它会崩溃并且没有指出哪里出了问题。这是我用来将闪存卡插入表中的代码。iPhone应用程序崩溃与sqlite3_bind_text()
const char *insert = "INSERT OR REPLACE INTO LIST (TERM, DEFINITION) VALUES (?, ?);";
sqlite3_stmt *statement;
sqlite3_prepare_v2(database, insert, -1, &statement, nil);
sqlite3_bind_text(statement, 1, [term UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 2, [def UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_step(statement);
sqlite3_finalize(statement);
我确定绑定文本方法是我之前放置的一些NSLog()方法的薄弱环节。在这个例子中,term和def是NSStrings,确实保持正确的值(我知道这很确定)。任何帮助,将不胜感激。我还没有掌握便携式c。
如果您使用的是包装器,则不会遇到此问题:http://code.google.com/p/flycode/source/browse/#svn/trunk/fmdb – 2010-06-17 20:19:27
或者仅使用核心数据;除非必须与非电话/ Mac机器共享数据库,否则使用CoreData的原因有很多。 – bbum 2010-06-17 21:07:09