0

テーブルを選択するために2つの異なるカーソルを使用することは可能ですか:

これはテーブル1の場合

Cursor b = myDbHelper.getSchoolType();
String def = b.getString(0);

これは別のテーブル用です

c = myDbHelper.getAllSchoolData();
String abc = c.getString(0);

2 つのカーソルを使用して 2 つのテーブルからデータを取得しようとしましたが、エラーが表示されます。

android.database.CursorIndexOutOfBoundsException : Index -1 requested, with a size of 2

助けてください...あらゆる種類の回答をありがとう

4

2 に答える 2

1

デフォルトでは、カーソル ポインターは最初のエントリ (行) の前の位置を指しているため、そこからデータを読み取る前に適切な位置に移動する必要があります。たとえば、最初のエントリに移動します。

if(cursor != null && cursor.moveToFirst()) 
    String value = cursor.getString(0);
    ...
}

moveToNext()、moveToLast() などの同様のメソッドがあります。詳細については、リファレンス ページを参照してください。

于 2012-10-14T13:30:57.357 に答える
0

Cursorindex は取得時に -1 に設定されます。最初の結果に移動する必要があります。これにはさまざまな選択肢がありますが、これが私が使用する方法です。

Cursor c = // Retreive your cursor;
if (c != null) {
    while(c.moveToNext()) {
        // Code for each row
    }
}

これは、すべてのカーソル行をループします。

常にAndroid チュートリアルを読むか、 SDK リファレンスを調べる必要があります。ドキュメントを読むことを学ぶことは、プログラマーにとって基本的なスキルです。

于 2012-10-14T13:45:36.877 に答える