我想知道,如果有可能从SQLite中的ID获取行位置。我有一个方法,当我点击listView项目时返回一个ID,但是当我从表中删除一个项目时,ID中存在间隙,并且该方法在这种情况下无效。我发现下面的代码按顺序返回位置行,但我不知道如何在我的课程中以编程方式实现它并移动光标并获得 CTN 。
SELECT _id, PRODUCER,
(SELECT COUNT(*) FROM DATA B WHERE A._id >= B._id) AS CTN FROM DATA A
_id .........的 PRODUCER ..............的 CTN
1 ............ FIAT ...........................的 1 <登记/>
2 ............ FORD .........................的 2
3 ............雷诺................... 3
的 5 ............ MWM ..........................的 4
正如我所说,我可以点击listView获取ID,我的问题是。 if是否有可能设置此ID以返回行的位置。如果可能请给我一个例子。
谢谢你:)答案 0 :(得分:0)
它正在运作
public static long getRowFromId(Context context, int id) {
DataBase dataBase = new DataBase(context);
SQLiteDatabase conn = dataBase.getWritableDatabase();
String query = "SELECT COUNT (*) FROM " + Data.TABLE + " WHERE " + Data.ID + " <= " + id;
return conn.compileStatement(query).simpleQueryForLong();
}