如何从android中的SQLite中检索特定记录

时间:2011-03-19 07:07:53

标签: android sqlite android-listview

我需要从DB&获取数据用分页显示为列表。

即。如果我检索了4个项目..我需要在第一页显示前两个项目。

当我点击下一个按钮时,应显示剩余的2个项目,以替换旧的2。

我怎样才能将DB中的数据限制为2?

我的代码..

 db.open();

   // db.insertTitle("Money");
    //db.insertTitle("make");
    //db.insertTitle("make");
    //db.insertTitle("make");

    Cursor c = db.getAllTitles();
    if (c.moveToFirst())
    {
        do {          
              String firstName = c.getString(c.getColumnIndex("user"));
              results.add( firstName );
           } while (c.moveToNext());
    }
  setListAdapter(new ArrayAdapter<String>(DisplayAll.this, android.R.layout.simple_list_item_1,results));

    db.close();
}

我的DBAdapter ..

public Cursor getAllTitles()         {

        return db.query(DATABASE_TABLE, new String[] 
                    {
                KEY_ROWID, 
                KEY_USER,
                }, 
                null, 
                null, 
                null, 
                null, 
                null);
    }

1 个答案:

答案 0 :(得分:3)

请试试这个

public Cursor getAllRecords(int page,int totalRecord)
{
   return db.rawQuery("select * from your_table_name limit "+(page-1)*totalRecord+","+totalRecord, null);
}

如果你想要2条记录,那么限制=一次你想要多少条记录然后传递限制= 2如果10条记录则设置限制= 10 .. 和page =第一个初始页面变量1,当你第二次获取下一个记录时,你的页面变量增加1。