首页 > 解决方案 > rawQuery() 格式化

问题描述

我是 Android 和 SQLite 的新手。这个查询看起来正确吗?当我在没有变量的数据库管理器上进行查询时,它可以工作,直到我在最后添加第二个变量。

Cursor cursor = database.rawQuery("SELECT car FROM cars WHERE color = " + color + " AND equipment = " + equipment + ";", null);

标签: androidsqliteandroid-sqlite

解决方案


您缺少单引号。如果有效,请尝试此查询。

Cursor cursor = database.rawQuery("SELECT car FROM cars WHERE color = " + DatabaseUtils.sqlEscapeString(String.valueOf(color)) + " AND equipment = " + DatabaseUtils.sqlEscapeString(String.valueOf(equipment)), null);

推荐阅读