我在我的应用程序中使用 Room DB,并且希望在查询中将列名称作为变量,以便我可以“随时随地”操作它(在调用方法时)。
示例代码(“name”假设是代表一列的变量):
@Query("UPDATE Products SET :name = :value WHERE prod_id = :prod_id")
int updateName(String name,String value, String prod_id);
我尝试过,但它无法编译,并出现错误,它需要获取列而不是字符串。
有什么方法可以将一列作为变量放置吗?
我知道这个答案已经很旧了,但自从我到达这里以来,它仍然有用。
因此,现在您可以使用变量编写查询,使用的语法与您使用的语法完全相同。这就是医生所说的:
@Query("SELECT * FROM user WHERE user_name LIKE :name AND last_name LIKE :last")
public abstract List<User> findUsersByNameAndLastName(String name, String last);
and
@Query("SELECT * FROM user WHERE uid IN(:userIds)")
public abstract List findByIds(int[] userIds);
查询文档可以找到here.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)