首页 > 解决方案 > 房间刀柄@Query 没有返回我所期望的

问题描述

一些查询在 RecipeDao.kt 中返回结果,ide 的侧面板写道:在 com.example.mypackage.data.RecipeDao_Impl 中实现,但其他查询在给定日期不返回这样的结果我提取应用程序数据库和在其他 sqlite 浏览器应用程序中查询它并成功执行

喜欢这张图片

 CoroutineScope(Dispatchers.IO).launch {
                        dateNoDay?.get(pos)?.let { dateQuery -> //dateQuery here is yyyy/M
                            allRecipesByMonth = async {
                                recipeDao.getAllRecipesByMonth(
                                    "'$dateQuery/01'",
                                    "'$dateQuery/31'"
                                )
                            }
                        }
                        withContext(Dispatchers.Main) {
                            allRecipesByMonth.await()
                            archiveRecipesAdapter = context?.let {
                                ArchiveRecipesAdapter(
                                    allFactorsByMonthOfYear.await(),
                                    it
                                )
                            }
                            archiveRecipesAdapter?.notifyDataSetChanged()
                        }
                    }
                }

标签: androidandroid-roomkotlin-coroutinesdagger-hilt

解决方案



无法比较更新字符串为日期。我有两个解决方案。
1.将其更改为 long 并使用它(推荐)
2.更改为 INTEGER 的 3 列(不推荐)
我出于某种原因使用了第二种方法并且它有效。


推荐阅读