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 SQLiteException near"<&引用;同时删除查询_Android_Sqlite_Android Sqlite_Where Clause - Fatal编程技术网

Android SQLiteException near"<&引用;同时删除查询

Android SQLiteException near"<&引用;同时删除查询,android,sqlite,android-sqlite,where-clause,Android,Sqlite,Android Sqlite,Where Clause,我正在尝试从SQLite数据库中删除几行,如下所示: dbUtilsObj.delete(EngineUtiReport.TABLE_NAME, EngineUtiReport.Columns.KEY_ENGINE_UTI_UNIX_TIME + DBUtils.IS_LESS_THAN, new String[] { String.valueOf(nDaysOldUnixTime) }); DELETE FROM engine_utilization_report WHER

我正在尝试从SQLite数据库中删除几行,如下所示:

dbUtilsObj.delete(EngineUtiReport.TABLE_NAME, 
    EngineUtiReport.Columns.KEY_ENGINE_UTI_UNIX_TIME + DBUtils.IS_LESS_THAN,
    new String[] { String.valueOf(nDaysOldUnixTime) });
DELETE FROM engine_utilization_report WHERE unix_time < ?
在上述代码中,
nDayOldTimeInMills=1429963811949
DBUtils.IS_小于=”

但是我得到了这个语法错误异常,我就是不知道我做错了什么:

android.database.sqlite.SQLiteException: near "<": syntax error (code 1): , 
while compiling: DELETE FROM engine_utilization_report WHERE unix_time <
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1113)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:686)
android.database.sqlite.SQLiteException:near“您可以尝试以下方法:

dbUtilsObj.delete(EngineUtiReport.TABLE_NAME, 
    EngineUtiReport.Columns.KEY_ENGINE_UTI_UNIX_TIME + DBUtils.IS_LESS_THAN + "?",
    new String[] { String.valueOf(nDaysOldUnixTime) });
dbUtilsObj.delete(EngineUtiReport.TABLE_NAME, 
    EngineUtiReport.Columns.KEY_ENGINE_UTI_UNIX_TIME + DBUtils.IS_LESS_THAN + "?",
    new String[] { String.valueOf(nDaysOldUnixTime) });

将参数传递给delete查询时,需要用
指示该参数应放置在何处。在本例中,该参数位于where子句的末尾。

使用参数化查询时,需要指定要将参数插入查询中的位置。可以通过添加<代码>?
参数应该放在哪里。现在看一下异常中的查询,很明显哪里出了问题:

DELETE FROM engine_utilization_report WHERE unix_time <
要修复错误,只需在where子句末尾添加
,如下所示:

dbUtilsObj.delete(EngineUtiReport.TABLE_NAME, 
    EngineUtiReport.Columns.KEY_ENGINE_UTI_UNIX_TIME + DBUtils.IS_LESS_THAN,
    new String[] { String.valueOf(nDaysOldUnixTime) });
DELETE FROM engine_utilization_report WHERE unix_time < ?