Android dbAdapter自定义查询

时间:2012-05-28 17:27:52

标签: android sqlite

我正在使用记事本示例来获取DBAdapter的类定义。

我的表结构示例:

Vehicle -> "_id", "registration", "idmake", "model"
Make -> "_id", "name"

目前我正在使用查询获取车辆数据并填写ListView:

public Cursor fetchVehicles() {

    return mDb.query("Vehicle", new String[] { "_id", "registration",
            "idmake", "model" }, null, null, null, null, null);
}

我的问题是,如何进行这样的查询,除非它返回相应的Make名称而不是idmake字段?

由于

1 个答案:

答案 0 :(得分:1)

你应该JOIN这两个表。

String SELECT_NAME = "SELECT M.name FROM Make M INNER JOIN Vehicle V ON M._id = V._id";
cursor.rawQuery(SELECT_NAME, null);

rawQuery方法中的第二个参数需要where args,所以你可以这样做:

String ANOTHER_SELECT = "SELECT M.name FROM Make M INNER JOIN Vehicle V ON M._id = V._id WHERE M._id = ?";
cursor.rawQuery(ANOTHER_SELECT, new String[] {String.valueOf(<dataId>)});

关于rawQuery method

的一点点

此致