我正在使用jgilfelt的SQLite-asset-helper
我尝试调查他的示例项目并遇到了这段代码:
public Cursor getEmployees() {
SQLiteDatabase db = getReadableDatabase();
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
String [] sqlSelect = {"0 _id", "FirstName", "LastName"};
String sqlTables = "Employees";
qb.setTables(sqlTables);
Cursor c = qb.query(db, sqlSelect, null, null,
null, null, null);
c.moveToFirst();
return c;
}
_ID字段的select语句中“0”的含义是什么?
答案 0 :(得分:2)
它返回0
的值,列名为_id
(它使用列名别名)。
您可以通过这种方式返回表中不存在的列。
答案 1 :(得分:1)
某些Android适配器要求您始终选择_id字段,即使您的表没有。尝试一下,您的应用程序将崩溃而不选择_id。因此,他们通过选择其中包含0的mock _id值来为此做一个解决方法。
编辑:更好的方法是,例如,如果您想在表格中使用“id”代替“_id”,只需执行SELECT id as _id FROM ...