android - Android Sqlite 中的 Select 查询中的自定义对象
问题描述
我们可以在选择查询中使用自定义对象从 sqlite db 获取数据吗?
我有这个问题!!
我的数据库
我想根据类别搜索记录
选择查询
Cursor res = db.rawQuery("select * from " + RECORD_TABLE_NAME + " where time Like '%" + builder.toString() + "%'"+ " and category like '%"+category1+"%'", null);
完整代码
public List<Record> getRecordByMonthViaCatName(String monthName, String year,String category) {
List<Record> array_list = new ArrayList<>();
StringBuilder builder = new StringBuilder();
builder.append(monthName);
builder.append(year);
Gson gson = new Gson();
Category category1 = gson.fromJson(category,Category.class);
SQLiteDatabase db = this.getReadableDatabase();
try {
Cursor res = db.rawQuery("select * from " + RECORD_TABLE_NAME + " where time Like '%" + builder.toString() + "%'"+ " and category like '%"+category1+"%'", null);
res.moveToFirst();
while (!res.isAfterLast()) {
String accountObj = res.getString(res.getColumnIndex(RECORD_ACCOUNT)); //accountF
String catObj = res.getString(res.getColumnIndex(RECORD_CATEGORY_OBJ));
String accountObjT = res.getString(res.getColumnIndex(RECORD_TRANSFER_T));
AccountModel account = gson.fromJson(accountObj, AccountModel.class);
Category category = gson.fromJson(catObj, Category.class);
accountObjT = gson.fromJson(accountObjT, AccountModel.class) == null ? null : accountObjT;
AccountModel accountT = gson.fromJson(accountObjT, AccountModel.class);
array_list.add(new Record(Integer.parseInt(res.getString(res.getColumnIndex(RECORD_ID))), res.getString(res.getColumnIndex(RECORD_TIME)),
Integer.parseInt(res.getString(res.getColumnIndex(RECORD_TYPE))), new BigDecimal(res.getString(res.getColumnIndex(RECORD_AMOUNT))), res.getString(res.getColumnIndex(RECORD_NOTE))
, account, category, account, accountT));
res.moveToNext();
}
return array_list;
} catch (Exception e) {
Log.e("error", "getAllRecord: " + e.getMessage());
}
return null;
}
提前感谢您的解决方案!
解决方案
推荐阅读
- elasticsearch - Elasticsearch 排除对字段值的最高命中
- java - 从数据库 Spring Boot 获取详细信息,异常错误
- swift - 使用 GKStates 和 PhysicsBody 操作的最佳实践
- html - 如何将我的 JSON 文件导入 app.ts 以显示 app.html 中的选项?
- r - 测试字符串是否在字母表的 n 个位置
- python - 获取带有标签的推文 - Teepy
- c++ - 在 extern "C"{} 中声明一个使用向量的函数
- angular - 在角度服务中缓存休息请求
- node.js - 在 Ubuntu 上安装 Angular CLI 失败
- chronicle - 编年史如何增加处理器?