SQLite искать вопрос - PullRequest
       0

SQLite искать вопрос

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

Я использую SQLite версии 3 для запуска следующего кода.

//Run SQL SELCT query
sqlite3_prepare16_v2("SELECT * FROM table_name");
sqlite3_step();

//Need to review results in several iterations
for(int i = 0; i < n; i++)
{
    //Seek to beginning
    sqlite3_reset();

    do
    {
        //Get values
        sqlite3_column_int();
        ...
        sqlite3_column_text16();
    }
    while(sqlite3_step() == SQLITE_ROW);
}

Но по какой-то причине первая партия данных, которую я получаю, это все 0. Что я не делаю правильно в коде выше?

1 Ответ

1 голос
/ 24 апреля 2011

Предполагается, что вы показываете псевдокод, так как вам не хватает многих аргументов для функций sqlite3 ...

Вам нужно sqlite3_step после sqlite3_reset и до получения первой строки значений.

Вы можете изменить do { ... } while(sqlite3_step() == SQLITE_ROW) на while(sqlite3_step() == SQLITE_ROW) ... }, чтобы выполнить это.

Это также устранит необходимость перехода сразу послеsqlite3_prepare16_v2

...