Android:sqlite:cursor:getColumnIndex

cel*_*tis 12 sqlite android normalize cursor

我在规范化的sqlite数据库上有一个相当复杂的查询(多个连接).查询执行SELECT*以启用一些自动属性选择逻辑(所以我无法消除"*")

我遇到的问题是我的结果集包含多个具有相同属性名称的列.例如,查询中每个表共有的一个属性是"_id".当我去调用时"cursor.getColumnIndex("_id")",返回的值始终是"_id"结果集列列表中最后一个属性的索引(即不是我想要的那个).我希望能够使用我的SQL别名前缀,cursor.getColumnIndex("A._id")但这不起作用.

问题

似乎cursor.getColumnIndex(AttributeName)返回最后一个"AttributeName"的索引.谁能证实这一点?另外,关于如何使用"AttributeName"返回第一个属性的索引的任何建议?或更好的具有"AttributeName"的Xth属性?

Gra*_*and 8

你可以这样做:

SELECT _id as myID, * FROM myTable
Run Code Online (Sandbox Code Playgroud)

这意味着_id对于结果中的每个表,该字段将显示两次,但两列中的一列将具有唯一的名称,以便您可以找到它.