Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SQLite查询混乱,小于大于_Android_Database_Search_Sqlite - Fatal编程技术网

Android SQLite查询混乱,小于大于

Android SQLite查询混乱,小于大于,android,database,search,sqlite,Android,Database,Search,Sqlite,我给一个函数一天一小时,我想在两个文本非空列列_FROM1和列_TO1之间获取列_DAY1=DAY和HOUR。奇怪的是,如果我给出7小时,从1到1分别包含6和9,它将返回一个正搜索。如果我给12小时,从1到1,分别包含11和17,搜索就可以了 但是,当我分别给出7和FROM1以及TO1包含6和10时,搜索不起作用。我认为这与10是两位数,6是一位数或者类似的东西有关。 下面是我使用的光标查询,请帮助,我做错了什么 Cursor cursor = database.query(MySQLiteHe

我给一个函数一天一小时,我想在两个文本非空列列_FROM1和列_TO1之间获取列_DAY1=DAY和HOUR。奇怪的是,如果我给出7小时,从1到1分别包含6和9,它将返回一个正搜索。如果我给12小时,从1到1,分别包含11和17,搜索就可以了

但是,当我分别给出7和FROM1以及TO1包含6和10时,搜索不起作用。我认为这与10是两位数,6是一位数或者类似的东西有关。 下面是我使用的光标查询,请帮助,我做错了什么

Cursor cursor = database.query(MySQLiteHelper.TABLE_COMMENTS,
                allColumns, MySQLiteHelper.COLUMN_DAY1 +" ='" + Day+
                        "' AND " +MySQLiteHelper.COLUMN_FROM1 + " <=" + Hour+
                        " AND " +MySQLiteHelper.COLUMN_TO1+ " >" +Hour
                        , null, null, null, null);
找到了答案

解析未正确完成,行尾字符\r导致SQLite数据库无法将结尾“9”识别为
9
时出现问题。增加了这一行:

comment = comment.replaceAll("(\\r|\\n)", "");

在我用分隔符解析数据之前,\t它起作用了

你的描述不清楚。哪些记录应该返回?@cl-我取得了一些进展,所以我完全编辑了这个问题。请再看一遍。数据库中的值和变量的类型是什么?请显示插入from/to值的代码。这些值不是空文本。我将添加代码。我将它从TXT复制到DB。插入from/to值的代码将在
createComment
函数中。
public Comment createComment(String comment) {
        ContentValues values = new ContentValues();
        //parse data in string comment
        String[] words = comment.split("\\t");

        values.put(MySQLiteHelper.COLUMN_COMMENT, comment);
        values.put(MySQLiteHelper.COLUMN_NAME, words[0]); //adds to column "name"
        values.put(MySQLiteHelper.COLUMN_CONTACT, words[1]);
        values.put(MySQLiteHelper.COLUMN_DAY1, words[2]);
        values.put(MySQLiteHelper.COLUMN_FROM1, words[3]);
        values.put(MySQLiteHelper.COLUMN_TO1, words[4]);
        values.put(MySQLiteHelper.COLUMN_DAY2, words[5]);
        values.put(MySQLiteHelper.COLUMN_FROM2, words[6]);
        values.put(MySQLiteHelper.COLUMN_TO2, words[7]);

        //expected error above after DAY2 since it can be NULL

        long insertId = database.insert(MySQLiteHelper.TABLE_COMMENTS, null,
                values);
        Cursor cursor = database.query(MySQLiteHelper.TABLE_COMMENTS,
                allColumns, MySQLiteHelper.COLUMN_ID + " = " + insertId, null,
                null, null, null);
        cursor.moveToFirst();
        Comment newComment = cursorToComment(cursor);
        cursor.close();
        return newComment;
    }
comment = comment.replaceAll("(\\r|\\n)", "");