Как вызвать обратные записи в RoomDatabase - PullRequest
0 голосов
/ 09 марта 2020

Как я могу вызвать обратные записи ?? Я хочу сделать заказ по значениям первичного ключа.

В Entity PrimaryKey автоматически генерируется.

@Dao
public interface TodoDao {
    @Query( "SELECT " + Todo.COL_Item + " FROM " + Todo.TABLE_NAME)
    List<String> getAllItems();
}

Заранее спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 09 марта 2020

Для вашего первого вопроса,

@Dao
public interface TodoDao {
    @Query( "SELECT " + Todo.COL_Item + " FROM " + Todo.TABLE_NAME + " ORDER BY "+ Todo.COL_YOUR_PRIMARY_KEY" DESC")
    List<String> getAllItems();
}

Далее вы можете сделать свои столбцы уникальными, чтобы узнать, есть ли данные уже в таблице или нет.

@Entity(indices = {@Index(value = {"first_name", "last_name"},
        unique = true)})
class User {
    @PrimaryKey
    public int id;

    @ColumnInfo(name = "first_name")
    public String firstName;

    @ColumnInfo(name = "last_name")
    public String lastName;
}

и затем вы можете вставить как,

try {
            // Execute insert function
        } catch (SQLiteConstraintException e) {
            Toast.makeText(context, "Error inserting record", Toast.LENGTH_SHORT).show();
        }
0 голосов
/ 09 марта 2020

Для первого вопроса вам просто нужно изменить эту строку

@Query("SELECT " + Todo.COL_Item + " FROM " + Todo.TABLE_NAME +" ORDER BY Column_Primary_Key DESC")
...