如何使用房间查询不特定的字段名称?
How to query unspecific field name using room?
我想在 android 中进行 WHERE
查询而不命名特定字段名称。
即,我想在不定义字段名称的情况下进行 WHERE
查询(它将在运行时确定)。
我试过这样做:
@Query("SELECT COUNT(*) FROM Workspace WHERE :name = :value")
int countFieldsFor(String name, String value)
但是没用...
我该如何实施?即使直接查询数据库(没有空间)
谢谢。
您可以使用@RawQuery 并简单地将生成的 SQL 传递给 dao 接口方法:
@Dao interface RawDao {
@RawQuery
User getUserViaQuery(SupportSQLiteQuery query);
}
SimpleSQLiteQuery query = new SimpleSQLiteQuery("SELECT * FROM User WHERE id = ? LIMIT 1", new Object[]{userId});
User user2 = rawDao.getUserViaQuery(query);
我想在 android 中进行 WHERE
查询而不命名特定字段名称。
即,我想在不定义字段名称的情况下进行 WHERE
查询(它将在运行时确定)。
我试过这样做:
@Query("SELECT COUNT(*) FROM Workspace WHERE :name = :value")
int countFieldsFor(String name, String value)
但是没用...
我该如何实施?即使直接查询数据库(没有空间)
谢谢。
您可以使用@RawQuery 并简单地将生成的 SQL 传递给 dao 接口方法:
@Dao interface RawDao {
@RawQuery
User getUserViaQuery(SupportSQLiteQuery query);
}
SimpleSQLiteQuery query = new SimpleSQLiteQuery("SELECT * FROM User WHERE id = ? LIMIT 1", new Object[]{userId});
User user2 = rawDao.getUserViaQuery(query);