Android数据库,批量插入、更新、删除都比较简单,开启事务就可以了,今天遇到需要批量查询,看了api也
没发现相关的方法,网上提供大部分指向 IN 关键字,操作语句:select * from table where id in (1,2,3),这个是
没问题的,但要在Android里面使用的话,如果直接调用 db.execSQL(),没有返回结果,网上也没找到Android 相关
的实际事例,后来找发现 db.rawQuery()方法能返回cursor,然后就试了下
Cursor cursor = db.rawQuery("select * from table where id in (1,2,3) " , null);
能批量查询
如果不想拼接值的话,就用占位符吧:
Cursor cursor = db.rawQuery("SELECT * from table WHERE id IN (?,?,?)" ,new String[]{"1","2","3"});
占位符还是要自己拼接的,有多少数据就有多少个占位符, 另一个更好的操作方式
Cursor cursor = db.rawQuery("SELECT * from table WHERE id IN (?,?,?)" ,pgList.toArray(new String[]{}));
内容虽没什么技术含量,但毕竟是自己努力解决的,必须要记录下!!!哈哈,大牛手下留情!!