Выберите запрос не готовится - PullRequest
0 голосов
/ 06 апреля 2011

Здесь я реализую запрос на выборку для извлечения данных из таблицы, но мой запрос не возвращает ни одной строки.

ниже мой код, который я использую:

if ((sqlite3_open([[self dataFilePath] UTF8String], &database))==SQLITE_OK)
{
    NSLog(@"DataBase OpeneD..!!");
    imageId=[[NSMutableArray alloc] init];
    const char *slectImageIdQuery="SELECT * from ts_Gallary;";
    sqlite3_stmt *statement;
    if (sqlite3_prepare_v2(database, slectImageIdQuery, -1, &statement, nil)==SQLITE_OK)
    {
        NSLog(@"Query CREATED..!!");
        while (sqlite3_step(statement)==SQLITE_ROW)
        {
            int iId=sqlite3_column_int(statement, 0);
            NSString *imgTtl=[NSString stringWithFormat:@"%d",iId];
            NSLog(@"image id in while=%d",iId);
            [imageId addObject:[NSString stringWithFormat:@"%@",imgTtl]];           
        }
    }
    else 
    {
        NSLog(@"query could not be prepared");
    }

    sqlite3_finalize(statement);        
}
sqlite3_close(database);

Дисплей моей консоли:

2011-04-06 17: 44: 33.381 Тоскана [4680: 207] Открытие базы данных .. !! 2011-04-06 17: 44: 33.382 Запрос в Тоскане [4680: 207] не удалось подготовить

Примечание. Здесь dataFilePath - это метод, который возвращает путь к моей базе данных, а database - это объект sqlite3

Нет Ошибка или исключение было выдано моим приложением.

Какая проблема может быть и как я могу обнаружить проблему и решить ее?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 11 апреля 2011

Нет Ошибка или исключение были выданы моим приложением.

Ну, да, есть.Ваш вызов sqlite3_prepare_v2 () не выполняется;он не возвращает SQLITE_OK.

Что происходит, когда вы запускаете этот оператор в приглашении sqlite своей базы данных?

SELECT * from ts_Gallary;

Попробуйте заменить эту строку

NSLog(@"query could not be prepared");

на что-то, что даст вам больше информации оОшибка.Включите вызов sqlite3_errmsg ().

0 голосов
/ 06 апреля 2011

Удалить точку с запятой (;) из const char * slectImageIdQuery = "SELECT * from ts_Gallary;"

как const char * slectImageIdQuery = "SELECT * from ts_Gallary "

и работает правильно.

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