Привет, я использую FMDB для извлечения данных из базы данных SQLITE.
db = [[FMDatabase alloc] initWithPath:path];
[db open];
FMResultSet *fResult= [db executeQuery:@"SELECT * FROM Users"];
aUsers = [[NSMutableArray alloc] init];
while([fResult next])
{
userData = [fResult stringForColumn:@"Name"];
lblUsers.text=[lblUsers.text stringByAppendingString:userData];
[aUsers addObject:userData];
NSLog(@"The data is %@=",userData);
}
[db close];
[aUsers release];
[db release];
Итак, я получил выход для этой программы
Сахин Рахул Дравид
Но когда я пытаюсь вставить данные в базу данных, Я использовал следующее кодирование
[db beginTransaction];
[db executeUpdate:@"insert into users (name) values('Balaji R')" ,nil];
[db commit];
Теперь я снова извлекаю данные из базы данных. Итак, я получил результат вроде этого
Сачин Рахул Дравид Баладжи R
Но когда я выхожу из своего приложения, а затем снова запугиваю его, Теперь я вижу только старые записи
Сахин Рахул Дравид
Вставленный записанный "Баладжи R" ушел!
Кто-нибудь знает, где я совершил ошибку? Пожалуйста, скажите мне решение......
Вы пытаетесь записать в каталог приложения, который не разрешен. Вам необходимо скопировать исходную базу данных в папку "Документы пользователя" и передать путь к копии FMDB initWithPath:
. Посмотрите Руководство по программированию приложений iOS. Взгляните на CoreDataBooks пример кода. Делегат приложения имеет код в методе persistentStoreCoordinator
, который вы можете использовать в качестве руководства для своей реализации.
path
? executeUpdate возвращаетBOOL
проверяет возвращаемое значение.,nil
после строки SQL не нужен