我在Android中有两个数据库.sqlite
productosdb.sqlite 和 entradas.sqlite ,每个都有一个表。
在 productosdb 中,我有表"entradas"={id,cod1,cod2,descrip,present,pale}
,而另一个"entradas"={id,idref(that is cod1 already saved from the other table),cant,vto}
我希望显示表"entradas"
的所有项目,但是向适配器提供包含两个表的所有字段的列表。当我从表"entradas"
获取一行时,我收到消息idrefto search the other the missing fields
。有些东西不起作用。以下是一些代码:
private List<ProductoSUMADO> listasumada = new LinkedList<ProductoSUMADO>();
Producto temporalProducto = new Producto();
List<ProductoConVencimiento> temporalEntrada = new LinkedList<ProductoConVencimiento>();
String asd = bundle.getString("codigo");
temporalProducto = managerdb.getProductoPorCodigoBarras(asd);
String sss = temporalProducto.getCodprod();
temporalEntrada = db.getProductosPorIDRef(sss);
for (int pos = 0; pos < temporalEntrada.size(); pos++)
{
ProductoSUMADO p = new ProductoSUMADO(temporalProducto.getCodbar()),
temporalProducto.getCodprod(),
temporalProducto.getDescrip(),
temporalProducto.getPresent(),
temporalProducto.getPale(),
temporalEntrada.get(pos).getCant(),
temporalEntrada.get(pos).getVto(),
temporalEntrada.get(pos).getNotas());
listasumada.add(p);
}
CustomAdapter2 adapter = new CustomAdapter2(this, listasumada);
listview.setAdapter(adapter);
也许你明白我想做什么,并展示另一种方法。
答案 0 :(得分:0)
你做错了。只需创建一个数据库和两个表&#34; productos&#34;和&#34; entradas&#34; 那么你将能够使用rawQuery加入数据。
在此处详细了解SQLite:vogella
它有示例,所以你可以测试它!
加入示例:
String MY_QUERY = "SELECT * FROM table_a a INNER JOIN table_b b ON a.id=b.other_id WHERE b.property_id=?";
db.rawQuery(MY_QUERY, new String[]{String.valueOf(propertyId)});