Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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 SQLiteDirectCursorDriver使用SelectionAgs或变通方法-使用占位符_Android_Sqlite_Where Clause - Fatal编程技术网

Android SQLiteDirectCursorDriver使用SelectionAgs或变通方法-使用占位符

Android SQLiteDirectCursorDriver使用SelectionAgs或变通方法-使用占位符,android,sqlite,where-clause,Android,Sqlite,Where Clause,我有一个正在运行的rawQuery字符串,但SQlite会抛出以下警告: SQLiteDirectCursorDriver(1058):找到以结尾的SQL字符串 因为报价问题。因此,我尝试在一个查询中使用SelectionAgs,在这个查询中,我没有真正的替换值,如下所示: String query = "SELECT Min(?) as oldest, Max(?) as newest, COUNT(?) as nb_data FROM ? WHERE ? BETWEEN (SELECT Mi

我有一个正在运行的rawQuery字符串,但SQlite会抛出以下警告:

SQLiteDirectCursorDriver(1058):找到以结尾的SQL字符串

因为报价问题。因此,我尝试在一个查询中使用SelectionAgs,在这个查询中,我没有真正的替换值,如下所示:

String query = "SELECT Min(?) as oldest, Max(?) as newest, COUNT(?) as nb_data FROM ? WHERE ? BETWEEN (SELECT Min(?) FROM ?) AND (SELECT Max(?) FROM ?)";
String[] values = new String[] { TS, TS, col_2, table, TS, TS, table, TS, table };
Cursor mCount = database.rawQuery(query, values);
我无法让它工作,甚至使用更少的SelectionArgs字符串(仅在查询的“WHERE”部分),因为实际上没有值替换要求,而是占位符


是否有一种解决方案可以设置此准备好的语句(使用占位符而不是使用引号或重写原始查询)以避免获取SQLiteDirectCursorDriver警告?

您只能对表达式使用参数,不能对标识符使用参数


为了防止出现此警告,只需在SQL查询字符串的末尾省略分号即可。

Thx实际上这也是我结束的地方:-)。