Исходя из фона, не SQL, я создать простую таблицу, названный тест, с 3-мя полями:FMDB SQLite вставки не удалось
NSString *testtable = @"create table if not exists test(testid integer primary key, userid integer, contentid text)";
if (![db executeUpdate:testtable]) {
NSLog(@"create test, %d:%@", [db lastErrorCode], [db lastErrorMessage]);
return NO;
}
, когда я вставить запись в таблицу, я получил EXC_BAD_ACCESS ошибки:
if (![db executeUpdate:@"insert into test values(?,?,?)", NULL, 1, @"HELLO"]) {
NSLog(@"insert test, %d:%@", [db lastErrorCode], [db lastErrorMessage]);
return NO;
}
Если я изменяю тип столбца «userid» от целого к тексту, это будет работать хорошо. И я тестирую таблицу, используя команду sqlite на консоли, она тоже работает. Что вы, ребята, думаете? Спасибо ...
я попробовать еще один способ справиться с этой проблемой:
if (![db executeUpdate:@"insert into test values(?,?,?)", NULL, [NSNumber numberWithInt:1], @"HELLO"]) {
NSLog(@"testint, %d:%@", [db lastErrorCode], [db lastErrorMessage]);
return NO;
}
затем он работает. Я не могу сказать причину ... Может быть, fmdb поддерживает только вставку объекта.
Только наш NSLog с ErrorCodes помог мне решить мою проблему ... +1 – CampbellGolf