限制游标查询中的行数

3

我需要从一部安卓手机中获取联系人。因此,我使用了以下代码:

Cursor phones = getActivity().getContentResolver().query(Phone.CONTENT_URI,
    new String[] { Phone.NUMBER, Phone.TYPE },
    " DISPLAY_NAME = ?", new String[] { displayName }, null);
while (phones.moveToNext()) {
   //do work here
}

我希望让游标通过类似于“LIMIT 50”的方式限制响应为50条。我在游标中传递哪些信息?请复制并粘贴我的代码并进行编辑。

你试过我的答案了吗? - flx
3个回答

1
Android API没有限制,但您可以像这样在代码中应用它:
Cursor phones = getActivity().getContentResolver().query(Phone.CONTENT_URI,
    new String[] { Phone.NUMBER, Phone.TYPE },
    " DISPLAY_NAME = ?", new String[] { displayName }, null);
for (int i = 0; i < 50 && phones.moveToNext(); ++i) {
   // do work here
}
phones.close();

0
如果您有数据库和表名,可以使用它们,但内容提供程序在其查询语句中没有限制参数。
mDb = new DBHelper (this);

Cursor c = mDB.getReadableDatase().query(
       <Phone_Table_Name>, 
       new String[] { Phone.NUMBER, Phone.TYPE }, 
       "DISPLAY_NAME = ?", 
       new String[] { displayName }, null), 
       null, 
       null, 
       null, 
       "50");

0

按id降序排序,限制1条:

db.query("table", null, "column=?", new String[]{"value"}, null, null, "id DESC", "50");

请您复制并粘贴我的代码,并进行编辑,这样我就可以看到如何操作了吗? - user3093402

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接