У меня проблема с некоторым кодом sqlite для программы для iPhone в Xcode. Я открывал свою базу данных так:
int result = sqlite3_open ("stealtown.db", & database);
Вот как у них это было в книге, на которую я смотрел, пока я печатал программу. Но тогда, этот способ открытия базы данных работает только при запуске в симуляторе, а не на устройстве. Итак, я наконец понял, что мне нужно сделать следующее:
NSString * file = [[NSBundle mainBundle] pathForResource: @ "stealtown" ofType: @ "db"];
int result = sqlite3_open ([file UTF8String], & database);
И это работает на устройстве, ЗА ИСКЛЮЧЕНИЕМ одного: каждый раз, когда вы запускаете программу, она запускается так, как будто вы никогда не создавали базу данных, а когда вы вставляете запись в таблицу, это ЕДИНСТВЕННАЯ запись в этой таблице.
Когда я использовал первый код на симуляторе, я мог открыть свою программу 6 раз, каждый раз добавляя 1 запись в таблицу, и в конце у меня было 6 записей в этой таблице. Со вторым кодом я делаю то же самое, но каждый раз в этой таблице есть только 1 запись. Я объясняю это хорошо, я надеюсь, что иногда мне трудно.
Кто-нибудь может знать, почему это будет?