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