Почему SQLite не возвращает никаких результатов из моей базы данных - PullRequest
0 голосов
/ 28 января 2010

Это мое первое приложение для iPhone на базе SQLite, и я пытаюсь заставить его читать иерархию меню из моей базы данных.

База данных, похоже, зарегистрирована нормально, так как скомпилированный оператор не выдает ошибку (попытался ввести правильное имя таблицы для проверки), но по какой-то причине sqlite3_step (compiledStmt) никогда не равен SQLITE_ROW как будто предположить, что там нет данных; который есть.

sqlite3 *database;

menu = [[NSMutableArray alloc] init]; 

if (sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
    const char *sqlStmt = "SELECT * FROM Menu";
    sqlite3_stmt *compiledStmt;

    if (sqlite3_prepare_v2(database, sqlStmt, -1, &compiledStmt, NULL) == SQLITE_OK) {
        while (sqlite3_step(compiledStmt) == SQLITE_ROW) {
            NSString *aTitle = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStmt, 1)];

            MenuItem *menuItem = [[MenuItem alloc] init];
            menuItem.title = aTitle;

            [menu addObject:menuItem];

            [menuItem release];
        }
    }
    else {
        NSLog(@"There is an error with the SQL Statement");
    }

    sqlite3_finalize(compiledStmt);

}

sqlite3_close(database);

Ответы [ 2 ]

0 голосов
/ 29 января 2010

Несмотря на большинство предложений по использованию Core Data, я провел целый день, исследуя их, и они совершенно не соответствуют моим потребностям. Мне нужно хранить / импортировать более 1000 строк данных в приложении под нагрузкой, и Core Data не имеет никакого способа сделать это любым легким способом.

SQLite по-прежнему будет идеальным решением, но у меня до сих пор нет решения этой проблемы.

EDIT:

Дальнейшие исследования привели меня к этому УДИВИТЕЛЬНОМУ примеру:

http://cocoawithlove.com/2009/11/writing-parser-using-nsscanner-csv.html

С помощью небольшой jiggary pockery вы можете импортировать ваш CSV и т. Д. В файл SQLite для встраивания в ваше приложение

0 голосов
/ 28 января 2010

В ответ на ваши комментарии:

Базовые данные могут использоваться для простых данных или сложных данных. Установка минимальна и очень проста в использовании. С точки зрения учебных пособий, собственная документация Apple является лучшей. Я сам являюсь новым разработчиком для iPhone, и я смог понять это за пару часов. У Apple есть отличный пример приложения под названием iPhoneCoreDataRecipes , который помог мне начать работу.

Другой вариант - посмотреть списки. Их можно использовать и для хранения простых данных; как правило, данные конфигурации. Дэвид Джейнс написал простое учебное пособие .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...