Android Studio中SQLite查询如何添加WHERE子句筛选零库存商品
零库存商品报表查询功能调整方案
核心实现逻辑
- 现有全量查询的SQL基础上,补充正确格式的WHERE筛选条件,即可实现零库存商品的定向查询
- 库存字段
quantity为整数类型,筛选零库存的判断条件直接写为quantity = 0即可,无需给数值加单引号 - 调整完成后原有报表展示逻辑无需改动,因为返回的Cursor列结构和全量查询完全一致,可直接复用现有列表适配器渲染数据
修正后的完整代码
Cursor readOutData() { String query = "SELECT * FROM " + TABLE_NAME + " WHERE quantity = 0"; SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = null; if(db != null){ cursor = db.rawQuery(query, null); } return cursor; }
高频踩坑提示
拼接SQL时漏加空格是最容易出现的语法错误,如果写成
"SELECT * FROM " + TABLE_NAME + "WHERE quantity = 0",最终生成的SQL会把表名和WHERE关键字连为一体,比如SELECT * FROM t_goodsWHERE quantity = 0,SQLite会抛出no such table类的语法错误,导致查询失败。
内容的提问来源于stack exchange,提问作者user2462154
相关产品推荐
相关产品推荐

