我正在开发的应用程序开始变得迟钝.它变得迟钝的原因之一是应用程序的一部分存储gps坐标.我查找了如何限制SQL查询中的记录数.我找到了这个.当我在我的代码中输入命令限制时,我收到错误.这是我尝试过的代码:
return mDb.query(DATABASE_TABLE, new String[]{KEY_ROWID, KEY_TITLE,
KEY_BODY, KEY_LAT, KEY_LONGI, KEY_DATE}, null, null, null, null,LIMIT 1000);
Run Code Online (Sandbox Code Playgroud)
由于这个问题仍未提供适当的解决方案,我想清理一下.
user658042和Jan Dragsbaek所说的大部分内容都是正确的.有一个重载方法,为你的limit子句提供第8个参数,它也必须是一个字符串.
由于LIMIT可以使用或不使用偏移量,因此可以在SQL中将其写入
LIMIT 1000 // limit to 1000 entries
或带偏移量
LIMIT 5000, 1000 // limit to 1000 entries with an offset of 5000
主要是,这就是为什么查询方法中的limit参数必须作为字符串传递的原因.
总而言之,只需省略限制参数中的文本"LIMIT"就可以了:)
// limit to 1000 entries
return mDb.query(DATABASE_TABLE,
new String[]{ KEY_ROWID, KEY_TITLE, KEY_BODY, KEY_LAT,
KEY_LONGI, KEY_DATE},
null, null, null, null, null, "1000");
// limit to 1000 entries with an offset of 5000
return mDb.query(DATABASE_TABLE,
new String[]{ KEY_ROWID, KEY_TITLE, KEY_BODY, KEY_LAT,
KEY_LONGI, KEY_DATE},
null, null, null, null, null, "5000, 1000");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1976 次 |
| 最近记录: |