Запись в sqlite db с помощью fmdb?

Итак, я понимаю, что fmdb полностью устарел, и основные данные находятся там, где они есть, но сейчас мне просто нужно настроить приложение, над которым я работаю, которое использует fmdb для чтения из sqlite db в папке ресурсов.

Мне нужно иметь возможность писать в мою БД. Как лучше всего выполнять запросы? Я попытался сделать то же самое, что и для чтения из БД:

FMResultSet * set = [[UIApp database] executeQuery:[customQueries selectAll], book];

Где я изменяю строку selectAll с оператора SELECT на оператор INSERT INTO, и я передаю ей книгу переменных для вставки, но это, похоже, не работает...

Что мне не хватает? Что мне нужно сделать, чтобы иметь возможность писать в мою базу данных sqlite ?? Спасибо!


person Steven    schedule 10.07.2010    source источник
comment
fmdb не устарел, активно развивается. ;)   -  person Pascal    schedule 26.11.2010


Ответы (2)


Чтобы вставить, вы должны сделать что-то вроде этого, где db — это ссылка на вашу FMDatabase:

[db executeUpdate:@"insert into theTable (field1, field2) values(?, ?)", 
    theField1, theField2, nil];

Убедитесь, что в конце списка параметров стоит ноль (два вопросительных знака в запросе означают два параметра и ноль), и убедитесь, что вы используете типы NS в качестве параметров. Если вы попытаетесь использовать int в качестве параметра, произойдет сбой, вместо этого вам нужно будет использовать NSNumber.

person BP.    schedule 21.11.2010

person    schedule
comment
Вы забыли открыть свою базу данных, но в остальном это все равно неправильно, так как они просят способ вставки и обновления базы данных, а не выбора записей данных. - person Jose Rafael Santiago Jr.; 05.12.2011