Невозможно выполнить sqlite3_prepare_v2 - PullRequest
0 голосов
/ 23 марта 2011

Я не могу выполнить sqlite3_prepare_v2.Когда я отлаживаю программу, программа открывает БД, после чего доходит до sqlite3_prepare_v2.Когда я нажимаю «Продолжить», выводится цикл, если управление и управление передаются в оператор завершения.Вот мой код

sqlite3 * база данных;

if(sqlite3_open([db_path UTF8String], &database)==SQLITE_OK)
{

    sqlite3_stmt * compiledstatement;

    sqlstmt = @" my select sql query";

    if(sqlite3_prepare_v2(database, sqlstmt, -1, &compiledstatement,NULL)==SQLITE_OK)

    {

        while(sqlite3_step(compiledstatement)==SQLITE_ROW)

        {

            // select query logic


        }

    }

    sqlite3_finalize(compiledstatement);

}

sqlite3_close(database);

1 Ответ

2 голосов
/ 23 марта 2011

sqlstmt - это строка NSString в вашем коде. Это должна быть строка C. Изменить

if (sqlite3_prepare_v2(database, sqlstmt, -1, &compiledstatement,NULL)==SQLITE_OK)

до

if (sqlite3_prepare_v2(database, [sqlstmt **UTF8String**], -1, &compiledstatement,NULL)==SQLITE_OK)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...