如何从我的Sql数据库中只读取10行?

时间:2014-07-01 11:57:30

标签: java android sql arrays eclipse

嘿,我有一个问题:)我怎么能从我的sql db只读十行? 这是我的代码:

openDB();
 Cursor c = myDb.getSpalte();
 List<Integer> valueList = new ArrayList<Integer>(c.getCount());

 while (c.moveToNext()) {        
     valueList.add(c.getInt(1));

 }
 c.close();
 closeDB();

如果它对你有帮助,那就是我的getSpalte方法:

public Cursor getSpalte(){
    String where = null;
    String Order = "_id DESC";
    Cursor c =  db.query(true, DATABASE_TABLE, KEY_KALOA, 
            where, null, null, null, Order, null);
  if (c != null) {
  c.moveToFirst();
}
  return c;
}

谢谢你的帮助!对不起我的坏人,抱歉; P

4 个答案:

答案 0 :(得分:7)

将最后一个null参数设置为&#34; 10&#34;。此参数适用于LIMIT,它限制查询返回的行数。

Cursor c =  db.query(true, DATABASE_TABLE, KEY_KALOA, 
        where, null, null, null, Order, "10");

请记住,限制必须伴随适当的逻辑来对结果集进行排序。否则,您可以获得任意10行,这可能并不总是您想要的。

Reference

答案 1 :(得分:0)

在getSpalte函数中更改数据库查询,如下所示:

Cursor c =  db.query(true, DATABASE_TABLE, KEY_KALOA, 
        where, null, null, null, Order, "10");

答案 2 :(得分:0)

您可以使用选择TOP,限制或使用ROWNUM来执行此操作,具体取决于您使用的数据库,或者您可以使用简单的for循环而不是while来简单地处理它。

答案 3 :(得分:0)

您可以使用LIMIT作为最后一个参数。这里10。

Refer here

  

limit - 限制查询返回的行数,格式为   LIMIT条款。传递null表示没有LIMIT子句。