Включает ли выполнение когда-либо предложение while?
В дополнение к тому, что уже было предложено, вот еще несколько вещей, которые можно попробовать:
1) Запустите ваше приложение на симуляторе. Откройте файл базы данных с помощью браузера баз данных SQLite (http://sqlitebrowser.sourceforge.net) и убедитесь, что таблица существует. Проверьте правильность написания имен таблиц и столбцов.
2) Убедитесь, что база данных открывает файл и что dbPath является правильным путем к файлу базы данных в песочнице приложения. Путь должен быть сгенерирован, используя NSDocumentsDirectory:
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsDirectory = [paths objectAtIndex:0];
3) Убедитесь, что вы правильно очистили все старые операторы с помощью sqlite_finalize и правильно закрыли базу данных. sqlite_close не должно быть в предложении "else".