Je suis en train de mettre à jour la table en utilisant l'annotation @Query de la bibliothèque de chambre, voici mon code (Dans l'interface Dao):Erreur de pièce: pas d'alternative viable en entrée?
@Query("UPDATE table_name SET table_name.col1 = :val1 WHERE table_name.col2 = :val2")
void updateValue(long val1, long val2);
chaîne d'erreur complète comme ci-dessous:
Error:(11, 10) error: no viable alternative at input 'UPDATE table_name SET table_name.'
Voici entité class:
@Entity(tableName = "table_name")
public class SampleTable {
@PrimaryKey
@ColumnInfo(name = "_id")
private Long Id;
@ColumnInfo(name = "col1")
private Long column1;
@ColumnInfo(name = "col2")
private Long column2;
public Long getId() {
return Id;
}
public void setId(Long id) {
Id = id;
}
public Long getColumn1() {
return column1;
}
public void setColumn1(Long column1) {
this.column1 = column1;
}
public Long getColumn2() {
return column2;
}
public void setColumn2(Long column2) {
this.column2 = column2;
}
}
Qu'est-ce qui ne va pas avec mon code?
Pouvez-vous éditer votre question et montrer votre classe Java avec l'annotation '@ Entity' qui définit' table_name'? – CommonsWare
@CommonsWare J'ai édité la question s'il vous plaît jeter un oeil, merci – pcj
Essayez de changer votre déclaration à 'UPDATE nom_table SET col1 =: val1 WHERE col2 =: val2'. Vous n'avez pas besoin du préfixe de la table dans ce cas, et le message d'erreur donne l'impression que Room trébuche sur le préfixe. – CommonsWare