我想从我的表中选择 *,我不想将 colnames 与 colindex 同步。
是否有一种内置方法可以使用 columnNames 而不是 columnIndexes 将列名提取到 Cursor 上?
所以我可以使用cursor.getStringForColumnName("name");
而不是知道第 4 列是“名称”列并使用cursor.getString(4);
我想从我的表中选择 *,我不想将 colnames 与 colindex 同步。
是否有一种内置方法可以使用 columnNames 而不是 columnIndexes 将列名提取到 Cursor 上?
所以我可以使用cursor.getStringForColumnName("name");
而不是知道第 4 列是“名称”列并使用cursor.getString(4);
好吧,是的,您可以为此目的使用PRAGMA 查询
这里,是一个例子
Cursor ti = db.rawQuery("PRAGMA table_info(mytable)", null);
if ( ti.moveToFirst() ) {
do {
System.out.println("col: " + ti.getString(1));
} while (ti.moveToNext());
}
我的理解是你想在 Cursor 中使用 coulmn 名称。您实际上可以getColumnIndex(String columnName)
使用列名自动获取索引。在这里阅读更多。然后您可以继续操作。这样你就不需要记住索引了。希望这有助于其他请评论。
cursor.getString(getColumnIndex("name"));