Я работаю над приложением Какао, которое взаимодействует с локальной базой данных SQLite с помощью FMDB.Я столкнулся с проблемой, что я не могу выполнить операцию вставки или обновления в БД.Запросы на выбор выполняются отлично, поэтому я предполагаю, что мои настройки соединения с БД верны.
Структура моего кода в основном такая:
FMDatabase* db=[FMDatabase databaseWithPath:[[NSBundle mainBundle] pathForResource:@"DBName" ofType:@"sqlite"]];
if(![db open])
{
NSLog(@"Could not open db.");
}
db.traceExecution=YES;
[db beginTransation];
[db ExecuteUpdate:"INSERT INTO test (title) VALUES(?)", [NSNumber numberWithInt]:2],nil];
[db commit];
[db close];
Во время выполнения не было выдано никаких исключений или предупреждений.вывод консоли относительно db.traceExecution выглядит следующим образом:
<FMDatabase: 0x100511fd0> executeUpdate: BEGIN EXCLUSIVE TRANSACTION;
<FMDatabase: 0x100511fd0> executeUpdate: INSERT INTO test (title) VALUES(?);
obj: 2
<FMDatabase: 0x100511fd0> executeUpdate: COMMIT TRANSACTION;
База данных тестирования - это просто таблица из одного столбца типа INT.
Все выглядит хорошо, за исключением того, что файл dbне обновляется вообще.Это действительно сбивает с толку меня, так как запрос Select работает отлично.Я проверил путь к базе данных, он указывает на правильный.Сначала я подозреваю, что это вызвано разрешением файла, но проблема остается той же, даже если я позволил всем иметь возможность чтения / записи.
Я застрял с этой проблемой в течение многих часов и не мог найтиправильное решение.Может кто-нибудь пролить некоторый свет на это?Спасибо!