光标cur = getall();

时间:2014-08-19 19:19:23

标签: java android eclipse

以下代码查看数据库中的所有记录。

Cursor cur = db.getall(); 

adapter = new RRSelectTrackActivity.MyAdapter(this, cur, this, this);

public MyAdapter(Context context, Cursor c, OnClickListener btnOnClick,OnCheckedChangeListener chkOnChange) {
    super(context, R.layout.list_item, c );
    this.btnOnClick = btnOnClick;
    this.chkOnChange = chkOnChange;
} 

我只需要查看前三个记录。如何为此目的修改此代码?

1 个答案:

答案 0 :(得分:0)

以下行在后台执行查询并获取一个游标,您可以一次在其中移动一条记录。您应该对该行中调用的函数感兴趣,而不是您编写的使用数据的函数。

Cursor cur = db.getall(); 

调用查询的方法是getall();实例上的db方法。因此,转到db类定义并创建另一个名为getTopNRecords(int n)的方法,该方法使用与getall()完全相同的查询,但使查询以select top {n}开头而不是简单select

这样,使用数据的现有函数可以保持不变,只需要调用与getall()不同的函数,这样就可以首先使用较少的数据。

某些数据库不支持“select top”语法。在这种情况下,您通常可以在查询中添加“limit {n}”。

<强>示例:

select top 5 first_name, last_name from people;
select first_name, last_name from people limit 5;