1

構築した DB でクエリを実行しようとしていますが、(名前で) クエリを実行して結果を抽出すると奇妙な問題が発生します。db の最初の行を抽出すると、他のパラメーターを使用して別のクエリを実行できます。最初の行以外の行を抽出すると、データベースの最初の行にアクセスできなくなります

    Cursor cur =datasource.query( 2,new String[] {"_id","Player","Num_of_wrong_ans","Num_of_drunkness_checks"} , PlayerDatabaseHelper.PLAYER + " =? " ,new String[] {array[1]} , null ); 
            if(cur.moveToFirst())
            {                   
                id = cur.getString(cur.getColumnIndex(PlayerDatabaseHelper.ID));

            }
            cur.close();    

クエリメソッドは次のとおりです。

    public Cursor query( int indicator,String[] projection, String selection,
        String[] selectionArgs, String sortOrder) {
    SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
    String a;
    switch (indicator) 
    { 
    case 1: 
        qb.setTables(PlayerDatabaseHelper.PLAYER_TABLE_NAME); 
        qb.setProjectionMap(projectionMap); 
        break; 
    case 2: 
        qb.setTables(PlayerDatabaseHelper.PLAYER_TABLE_NAME); 
        qb.setProjectionMap(projectionMap); 
        qb.appendWhere(PlayerDatabaseHelper.PLAYER);
        break; 
    default: 
        throw new IllegalArgumentException("Unknown  "); 
    } 

    // Get the database and run the query 
    SQLiteDatabase db = mHelper.getReadableDatabase(); 
    Cursor c = qb.query(db, projection, selection, selectionArgs, null, null, null); 
    return c; 

}    

私は何を間違っていますか???

4

0 に答える 0