Форум программистов, компьютерный форум CyberForum.ru

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Max Patsy
курлык-курлык
84 / 93 / 3
Регистрация: 26.11.2009
Сообщений: 396
Записей в блоге: 1
#1

iOs & sqlite3 - Программирование iOS/iPhone

12.11.2012, 15:07. Просмотров 660. Ответов 0
Метки нет (Все метки)

привет,есть проблема. в менеджере firefox для sqlite создал базу, она состоит из одной таблицы, для того что бы хранить id видео, его название и описание. Специально из менеджера добавил запись(просто для тестирования)

Чуть ниже есть два кусочка 1) просмотр данных(выводятся в лог) и 2) добавление в базу
Проблема в том, что все работает хорошо, нажимаю кнопку, первый кусок показвает данные , воторой добавляет, но стоит закрыть приложение и запустить заново - все, в таблице только первая запись (которую добавил из самого менеджера sql)

В чем может быть косячок? Куда могут пропадать данные.


Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
          NSFileManager *fileMgr = [NSFileManager defaultManager];
            NSString *dbPath = [[[NSBundle mainBundle] resourcePath ]stringByAppendingPathComponent:@"VMmovie.sqlite"];
            BOOL success = [fileMgr fileExistsAtPath:dbPath];
            if(!success)
            {
                NSLog(@"Cannot locate database file '%@'.", dbPath);
            }
            if(!(sqlite3_open([dbPath UTF8String], &myDB) == SQLITE_OK))
            {
                NSLog(@"An error has occured.");
            }
            
            //кусок кода для просмотра записей в базе
            NSString* selectQuery = @"SELECT id, movieName, description FROM infomovies ORDER BY id";
            sqlite3_stmt* sqlStatement;
            int ress = sqlite3_prepare_v2(myDB, [selectQuery UTF8String], -1, &sqlStatement, nil);
            if (SQLITE_OK == ress) {
                while (sqlite3_step(sqlStatement)==SQLITE_ROW) {
                    char* nameid = (char*)sqlite3_column_text(sqlStatement, 0);
                    char* movieName = (char*)sqlite3_column_text(sqlStatement, 1);
                    char* description = (char*)sqlite3_column_text(sqlStatement, 2);
                    
                    NSLog(@"id= %s\tFirstName= %s\tSecondName= %s",nameid,movieName,description);
                    
                }
                sqlite3_finalize(sqlStatement);
                NSLog(@"Select OK :)");
            }else {
                NSLog(@"Error in Select :(");
            }
            
            //добавление в базу
            NSString *insertQuery =[[NSString alloc] initWithFormat:@"INSERT INTO infomovies (id, movieName, description) VALUES ('%d', '%@', '%@')", idVideo, videoName, @"DESCRIPTION!LKNFKLDJFKSLJFKSLJFLKSJFKSLdsfsdfsdfsdfsdfsdfsdfoirjfeiorjiFIGJDIFGJDIOGJDIGJDIGJ"];
            NSLog(@"%@",insertQuery);
            char* errInfo;
            int result = sqlite3_exec(myDB, [insertQuery UTF8String], nil, nil, &errInfo);
            
            if (SQLITE_OK == result) {
                NSLog(@"Row Added :)");
            }else {
                //NSString* err = [[NSString alloc]initWithUTF8String:errInfo];
                NSLog(@"error in adding :(");
                return;
            }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2012, 15:07     iOs & sqlite3
Посмотрите здесь:

архитектура iOS
IOS и ARC
Сравнения sqlite3 и coredata
Безопасность iOS
Lex&Yacc + iOS
ios календарь
Обзор ios 7
GameCenter и iOS 7
Objective-C IOS date
IOS И Postgresql
База данных для iOS & Android
IOS

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru