Android SQLite "BETWEEN"不包含或返回所有记录

标签 android sqlite between

这看起来是一项非常简单的任务,尝试使用以下命令在我的 Android 应用程序的 SQLite 数据库中获取给定范围的记录/行:

String[] projection = {"_id"};
String selection = "_id between ? and ?";
String[] selectionArgs = {"1", "10"};

queryBuilder.query(db, projection, selection, selectionArgs, null, null, null);

通过上面的 selectionArgs,我只得到两行,第 1 行和第 10 行。如果我将 arg 更改为其他任何内容,我将得到全部(整组记录/行),就好像没有条件一样。一直在敲我的头一天,为什么它会这样工作,也许关于 SQLite 中“between”的使用有一些特别的事情需要了解?非常感谢任何评论/帮助。

最佳答案

您可以使用此代码。

private SQLiteDatabase productDatabase;
   public Cursor get_result(){
   Cursor c;
   String sql = "SELECT * FROM " + tableName +"WHERE _id BETWEEN" + value1 +"AND" + value2;
   c = productDatabase.rawQuery(sql, null);
}

Cursor cursor=get_result();
    if(cursor.moveToNext()){
    Log.d("count of product id="+cursor.getString(0));
}

关于Android SQLite "BETWEEN"不包含或返回所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9079875/

相关文章:

python - sqlite3.数据库错误: file is encrypted or is not a database

java - 比较java中同一个数组的元素

mysql - BETWEEN 查询的性能较差

android - 如何使用 ListView 的 onitemclicklistener 更改仅选定 ListView 行的布局

android - 如何使用改造将 json 数据发送到服务器?

android - 如何使用 Node.js 与 Android 通信? (MySQL)

ios - 如何将代码块分派(dispatch)到 iOS 中的同一个线程?

android - Rx Android 我如何在改造 2 中检查 204 代码

SQLite3 存储只包含数字的字符串

mysql - 在MySQL上获取两个日期之间的数据