Приложение для чтения iPhone с базы данных Sqlite3 - PullRequest
0 голосов
/ 20 октября 2011

Я использую следующий код для чтения строк из базы данных Sqlite3.

if(sqlite3_open([[AppHelper getDatabasePath] UTF8String], &database) == SQLITE_OK)
{
    const char *sqlStatement = "select * from customers";
    sqlite3_stmt *compiledStatement; 

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

            NSLog(@"%@",firstName);
        }
    }

    sqlite3_finalize(compiledStatement); 
}

sqlite3_close(database); 

Код не входит в if(sqlite3_prepare_v2 .....состояние.

Может кто-нибудь сказать мне, что я делаю не так?У меня есть файл .sql, помещенный в мой каталог документов, и он содержит одну запись.

ОБНОВЛЕНИЕ 1:

Я запускаю приложение в симуляторе и поместил свой файл myDatabase.sql в папку «Вспомогательные файлы».

ОБНОВЛЕНИЕ 2:

Ошибка «Нет таких клиентов таблицы», но я вижу, что у меня есть таблица клиентов в базе данных.Я использовал FireFox Sqlite Manager, чтобы увидеть таблицу клиентов.

Ответы [ 2 ]

1 голос
/ 21 октября 2011

Решение было закрыть / сбросить симулятор, так как симулятор зависал в пустой базе данных.После сброса содержимого симулятора все снова начали работать!

0 голосов
/ 21 октября 2011

О, да, когда вы меняете файл sqlite, вам всегда нужно удалить приложение и установить заново.Или, если вы хотите обновить новую таблицу, либо вы измените старый файл «Изменить таблицу», либо переместите все данные в новый файл.

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