sqlite查询,分页查询

private static final String TABLENAME = "mytab";
 private SQLiteDatabase db = null;

 public Qu(SQLiteDatabase db) {
  this.db = db;
 }

 public List<String> find() {
  List<String> all = new ArrayList<String>();
  String sql = "select id,name,birthday from mytab";
   Cursor result = db.rawQuery(sql, null);

                     从第一个开始查            不是最后一个            移动到下一个
   for (result.moveToFirst(); !result.isAfterLast(); result.moveToNext())
   {
   all.add(result.getInt(0)+result.getString(1)+result.getString(2));
   }
   db.close();

return all;

}

  List<String> all = new ArrayList<String>();

 String[] da ={"id","name","birthday"};
  Cursor result = db.query(TABLENAME, da, null, null, null, null,null);
   for (result.moveToFirst(); !result.isAfterLast(); result.moveToNext())
   {
   all.add(result.getInt(0)+result.getString(1)+result.getString(2));
   }
   db.close();

return all;

 String sql = "select id,name,birthday from mytab where name like ? or birthday like ?";
  String keyword = "5";
  String[] args = new String[] { "%" + keyword + "%", "%" + keyword + "%" };
  Cursor result = db.rawQuery(sql, args);
  for (result.moveToFirst(); !result.isAfterLast(); result.moveToNext()) {
   all.add(result.getInt(0) + result.getString(1)
     + result.getString(2));
  }
  return all;

public List<String> select() {
        List<String> all = new ArrayList<String>();

        String sql = "select * from user where user_name like ? limit ?,?";
        int group = 2;//分的页数,下标从0开始,因此我们想得到第二页得要-1
        int size = 5;//每页显示的个数
        String[] srgs = {"%d%",String.valueOf((group-1)*size),String.valueOf(size)};
        Cursor cu = db.rawQuery(sql, srgs);
        while(cu.moveToNext()){
            all.add(cu.getInt(0)+cu.getString(1)+cu.getString(2));
        }
        db.close();
        return all;

    }
原文地址:https://www.cnblogs.com/84126858jmz/p/4915244.html