0

次のコードを実行するために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です。上記のコードで何が正しく行われていないのですか?

4

1 に答える 1

1

sqlite3関数への多くの引数が欠落しているため、表示しているのが擬似コードであると仮定します...

値の最初の行を取得する前とsqlite3_step後が必要です。sqlite3_reset

あなたはそれを達成するためにあなたのdo {...} while(sqlite3_step() == SQLITE_ROW)while(sqlite3_step() == SQLITE_ROW)...に変えることができます。}

これにより、直後にステップする必要もなくなります。sqlite3_prepare16_v2

于 2011-04-24T03:41:20.687 に答える