Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.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_Sqlite - Fatal编程技术网

ANDROID sqlite无法检索

ANDROID sqlite无法检索,android,sqlite,Android,Sqlite,当我像这样分离查询时,我可以得到查询所说的内容。我希望根据类型和时间检索事件,我希望事件未结束,今天未开始,即查询生成器代码: db = this.getWritableDatabase(); if(cursor.moveToFirst()==false){ Log.e(TAG,"null"); return null; }//bulamadıysa hic null dondruyor // L

当我像这样分离查询时,我可以得到查询所说的内容。我希望根据类型和时间检索事件,我希望事件未结束,今天未开始,即查询生成器代码:

 db = this.getWritableDatabase();


        if(cursor.moveToFirst()==false){
            Log.e(TAG,"null");
            return null;
        }//bulamadıysa hic null dondruyor
     //   Log.e(TAG,"cursor: "+cursor.getColumnNames());
        // looping through all rows and adding to list
        if (cursor.moveToFirst()) {
            do {
                Event event = new Event();
                // event.setID(Integer.parseInt(cursor.getString(0)));
                event.setName(cursor.getString(1));

                event.setDescription(cursor.getString(7));
                event.setLink(cursor.getString(4));
                event.setLocation(cursor.getString(2));
                event.setType(cursor.getString(3));
                event.setStartDate(cursor.getString(5));
                event.setEndDate(cursor.getString(6));

                // to show user if correct, write screen
                eventList.add(event);
               event.writeSc(event);

            } while (cursor.moveToNext());
        }
        db.close();
        return eventList;
    }
首先,我将其分离,这是有效的:

String selectQuery = "SELECT * FROM " + TABLE_EVENTS+
            " WHERE ("

           + KEY_START_TIME+" <= '"+formatter.format(currentDate.getTime())+"'"
            +" AND "
            + KEY_END_TIME+   " >= '"+formatter.format(currentDate.getTime())+"') "+

            " OR ("+KEY_END_TIME + " BETWEEN '"+formatter.format(currentDate.getTime())+"' " +
            "AND '"+formatter.format(currentDate.getTime()).substring(0,10)+ " 23:59')" +

     //   " AND "+
      //KEY_TYPE+" = \""+type_+"\""
        " ORDER BY "+ KEY_START_TIME +" ASC";
String selectQuery=“SELECT*FROM”+表事件+
“其中(”
+KEY_START_TIME+“=”+formatter.format(currentDate.getTime())+“”)+
或“+KEY\u END\u TIME+”介于“+formatter.format(currentDate.getTime())+”之间+
“和”“+formatter.format(currentDate.getTime()).substring(0,10)+“23:59”“”+
//“和”+
//按键类型+“=\”“+类型+”\“”
“订单依据”+按键启动时间+“ASC”;
这也是可行的

String selectQuery = "SELECT * FROM " + TABLE_EVENTS+
            " WHERE "

     //      + KEY_START_TIME+" <= //'"+formatter.format(currentDate.getTime())+"'"
         //   +" AND "
           // + KEY_END_TIME+   " >= //'"+formatter.format(currentDate.getTime())+"') "+

         //   " OR ("+KEY_END_TIME + " BETWEEN //'"+formatter.format(currentDate.getTime())+"' " +
   //         "AND //'"+formatter.format(currentDate.getTime()).substring(0,10)+ " 23:59')" +

  //   //   " AND "+
     KEY_TYPE+" = \""+type_+"\""
        " ORDER BY "+ KEY_START_TIME +" ASC";
String selectQuery=“SELECT*FROM”+表事件+
“哪里”
//+KEY_START_TIME+“=/”+formatter.format(currentDate.getTime())+“”)”+
//“或(“+KEY\u END\u TIME+”介于/“+formatter.format(currentDate.getTime())+””+
//“和/”+formatter.format(currentDate.getTime()).substring(0,10)+“23:59”)”+
////“及”+
按键类型+“=\”“+类型+”\“”
“订单依据”+按键启动时间+“ASC”;
但当我合并它们时,它就不起作用了。它在工作,但我不知道发生了什么。我知道,它们是很常见的,它们有一些事件在一起,但当我在一起时,它们会检索所有类型的事件

String selectQuery = "SELECT * FROM " + TABLE_EVENTS+
            " WHERE ("

           + KEY_START_TIME+" <= '"+formatter.format(currentDate.getTime())+"'"
            +" AND "
            + KEY_END_TIME+   " >= '"+formatter.format(currentDate.getTime())+"') "+

            " OR ("+KEY_END_TIME + " BETWEEN '"+formatter.format(currentDate.getTime())+"' " +
            "AND '"+formatter.format(currentDate.getTime()).substring(0,10)+ " 23:59')" +

        " AND "+
      KEY_TYPE+" = \""+type_+"\""
        " ORDER BY "+ KEY_START_TIME +" ASC";
String selectQuery=“SELECT*FROM”+表事件+
“其中(”
+KEY_START_TIME+“=”+formatter.format(currentDate.getTime())+“”)+
或“+KEY\u END\u TIME+”介于“+formatter.format(currentDate.getTime())+”之间+
“和”“+formatter.format(currentDate.getTime()).substring(0,10)+“23:59”“”+
“和”+
按键类型+“=\”“+类型+”\“”
“订单依据”+按键启动时间+“ASC”;

我可以粘贴错误,但它们是正确的,studio不会给出错误。请帮忙。我好几天都看不见了,我真的很紧张。它可能很小,但我再也看不见了。

它真的很愚蠢。我收集了所有和,并将公共查询放在or的两个条件下,它起了作用:

 String selectQuery = "SELECT * FROM " + TABLE_EVENTS+
            " WHERE ("

           + KEY_START_TIME+" <= '"+formatter.format(currentDate.getTime())+"'"
            +" AND "
            + KEY_END_TIME+   " >= '"+formatter.format(currentDate.getTime())+"' "+" AND "+KEY_TYPE+" = \""+type_+"\")"+

            " OR ("+KEY_END_TIME + " BETWEEN '"+formatter.format(currentDate.getTime())+"' " +
            "AND '"+formatter.format(currentDate.getTime()).substring(0,10)+ " 23:59'" +" AND "+KEY_TYPE+" = \""+type_+"\")"


       + " ORDER BY "+ KEY_START_TIME +" ASC";
String selectQuery=“SELECT*FROM”+表事件+
“其中(”
+键\u开始\u时间+“=”+格式化程序.format(currentDate.getTime())+“+”和“+键\u类型+”=\“+类型+
或“+KEY\u END\u TIME+”介于“+formatter.format(currentDate.getTime())+”之间+
“和”“+formatter.format(currentDate.getTime())。子字符串(0,10)+“23:59”“+”和“+KEY\u TYPE+”=\”“+TYPE\u+”\””
+“订单依据”+按键启动时间+“ASC”;

谢谢

这真是太愚蠢了。我收集了所有和,并将公共查询放在or的两个条件下,它起了作用:

 String selectQuery = "SELECT * FROM " + TABLE_EVENTS+
            " WHERE ("

           + KEY_START_TIME+" <= '"+formatter.format(currentDate.getTime())+"'"
            +" AND "
            + KEY_END_TIME+   " >= '"+formatter.format(currentDate.getTime())+"' "+" AND "+KEY_TYPE+" = \""+type_+"\")"+

            " OR ("+KEY_END_TIME + " BETWEEN '"+formatter.format(currentDate.getTime())+"' " +
            "AND '"+formatter.format(currentDate.getTime()).substring(0,10)+ " 23:59'" +" AND "+KEY_TYPE+" = \""+type_+"\")"


       + " ORDER BY "+ KEY_START_TIME +" ASC";
String selectQuery=“SELECT*FROM”+表事件+
“其中(”
+键\u开始\u时间+“=”+格式化程序.format(currentDate.getTime())+“+”和“+键\u类型+”=\“+类型+
或“+KEY\u END\u TIME+”介于“+formatter.format(currentDate.getTime())+”之间+
“和”“+formatter.format(currentDate.getTime())。子字符串(0,10)+“23:59”“+”和“+KEY\u TYPE+”=\”“+TYPE\u+”\””
+“订单依据”+按键启动时间+“ASC”;
谢谢

用“或”代替“和”。。用“或”代替“和”。。