2011-03-19 72 views
1

我需要从数据库&中获取数据,并将其显示为带分页的列表。如何从android中的SQLite检索特定记录

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

当我点击下一步按钮,其余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 ..

公共光标getAllTitles(){

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

4项意味着4行? – vnshetty 2011-03-19 07:12:23

+1

@vnshetty是啊..如果我总共有4行..我需要在第一页显示第一个2。然后当按钮点击后的2行.. – sanjay 2011-03-19 07:14:57

+0

为什么你在检索数据的时间。你可以编写点击事件no的代码?我不清楚你的疑问... – vnshetty 2011-03-19 07:21:13

回答

3

请试试这个

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

w ^这里限制=你想要2条记录,然后通过限制= 2,如果10条记录,然后设置限制= 10,你想要多少条记录...... 和page =第一个初始页面变量为1,当你第二次获取下一条记录时增加你的页面变量为1。

相关问题