Java 无法在我的应用程序中删除SQLite数据库中的行

Java 无法在我的应用程序中删除SQLite数据库中的行,java,android,sqlite,android-sqlite,Java,Android,Sqlite,Android Sqlite,我需要从SQLite数据库的表中删除特定行。 此表包含文件的路径。 我需要删除包含特定扩展名的路径。 我在这方面遇到了麻烦。 没有从我的数据库中删除任何内容 例如,我的表名是ALL_PATH,列名是PATH_name 我就是这样做的。 我很高兴能得到任何帮助谢谢 private void deletePath(String extension){ Database db = getWritableDatabase(); String query = "DELETE FROM "

我需要从SQLite数据库的表中删除特定行。
此表包含文件的路径。
我需要删除包含特定扩展名的路径。
我在这方面遇到了麻烦。
没有从我的数据库中删除任何内容

例如,我的表名是ALL_PATH,列名是PATH_name 我就是这样做的。
我很高兴能得到任何帮助谢谢

private void deletePath(String extension){
    Database db = getWritableDatabase();
    String query = "DELETE FROM " + ALL_PATHS + " WHERE lower(" + PATH_NAME + ") LIKE '%" + extension + "'";
    Cursor cursor = db.rawQuery(query, null);
}
错误是:

Cursor cursor = db.rawQuery(query, null);
虽然它应该是

db.execSQL(query);
因为
DELETE
是一个命令,而不是一个查询
SELECT

,所以错误是:

Cursor cursor = db.rawQuery(query, null);
虽然它应该是

db.execSQL(query);
因为
删除
是一个命令,而不是查询
选择

使用内容值

String table = "beaconTable";
String whereClause = "_id" + "=?";
String[] whereArgs = new String[] { String.valueOf(row) };
db.delete(table, whereClause, whereArgs);
使用内容值

String table = "beaconTable";
String whereClause = "_id" + "=?";
String[] whereArgs = new String[] { String.valueOf(row) };
db.delete(table, whereClause, whereArgs);

使用sqllite工具检查您的查询是否正确,或者使用sqllite工具检查您的查询是否正确,但在我的例子中,需要删除行,这些行在路径中包含特殊扩展名。所以我需要使用LIKE关键字。在你们的例子中,我们正在检查它们是否相等。但在我的例子中,我们需要删除在路径中包含特殊扩展名的行。所以我需要使用LIKE关键字。在你的情况下,我们正在检查它们是否相等。我很高兴知道这一点@赫伦迪夫,巴克希先生,格雷蒂我很高兴知道这一点@赫伦迪夫,巴克希先生,太好了