【问题标题】:how to retrieve particular records from SQLite in android如何从android中的SQLite检索特定记录
【发布时间】:2011-03-19 07:07:52
【问题描述】:

我需要从数据库中获取数据并将其显示为带有分页的列表。

即如果我检索到 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);
    }

【问题讨论】:

  • @vnshetty 是的..如果我总共有 4 行..我需要在第一页上显示前 2 行。然后在单击按钮时显示下 2 行..
  • 为什么要在 time 检索数据。你可以为点击事件编写代码吗?我不清楚你的疑问......
  • 您必须更改查询。您必须在查询中设置限制以获取数据数量。你能告诉我从数据库中检索数据的查询吗?
  • 否。我从数据库中检索了所有数据并必须通过分页显示它。例如。如果我有 4 行作为“百事可乐”、“可乐”、“mirinda”、“雪碧”..当我运行应用程序时,我应该首先在列表视图中显示“百事可乐”,“可乐”。当我点击下一步按钮时,我已经用“mirinda”,“sprite”替换它。明白了吗?
  • 嗨,sudhir,请发布您的查询,我会给您新的查询以根据需要获取数据.. 此 db.getAllTitles() 的定义;功能 。你在这个函数里写了什么?

标签: android sqlite android-listview


【解决方案1】:

请试试这个

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 = first initial page variable with 1 并且当您第二次获取下一条记录时将您的 page 变量增加 1 。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 2018-09-14
    • 2016-06-01
    • 2015-05-24
    • 1970-01-01
    相关资源
    最近更新 更多