使用Active Android,我可以将表的列名称设为String[]
吗?
RawQuery()
会返回List<Model>
,因此我无法将PRAGMA
插入其中。
建议的副本是关于获取表名,与Active Android无关。
答案 0 :(得分:0)
在搜索了一些之后我发现我需要处理Cursor
,我可以使用Cache
来解决这个问题。
像这样:
Cursor c = Cache.openDatabase().rawQuery(new Select().from(User.class).toSql(),null);
String[] col = c.getColumnNames();
答案 1 :(得分:0)
使用这些方法获取Field
s的集合:
public static synchronized TableInfo Cache.getTableInfo(Class<? extends Model> type);
public Collection<Field> TableInfo.getFields();
然后在每个public String TableInfo.getColumnName(Field field)
上使用Field
来获取列名称。例如:
TableInfo<> userInfo = Cache.getTableInfo(User.class);
Collection<Field> fields = userInfo.getFields();
Set<String> columnNames = new HashSet<>();
for (Filed field : fields) {
String name = userInfo.getColumnName(field);
columnNames.add(name);
}
如果您需要获取id列名,请使用:
public String TableInfo.getIdName();