0

我正在使用记事本示例来定义 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 字段之外,我该如何进行这样的查询?

谢谢

4

1 回答 1

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 方法的一点点

问候

于 2012-05-28T17:32:31.657 回答