【发布时间】:2019-11-18 21:00:53
【问题描述】:
由于某种原因,我无法将我的笔记添加到我选择的每个日期都具有特定 ID 的数据库中。在过去一周左右的课余时间里,我一直试图在业余时间解决这个问题,但我一生都无法弄清楚。
它的目的是从 calendarView 中选择日期,并为从 DB 调用的每个日期提供特定的注释。涉及更多代码,但不相关,因为这是在创建实体/对象时发生错误的地方(我不知道数据库中的某些内容被调用)。
下面是我的 DAO 中的代码。我一直在尝试在 insertNote 函数中添加一个 id 参数,但它只是显示为红色。
@Dao
interface NotesDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertNote(note: Notes)
@Update
fun updateNote(note: Notes)
@Delete
fun deleteNote(note: Notes)
@Query("SELECT * FROM Notes WHERE id == :id")
fun getNotesByID(id: Int): List<Notes>
}
下面是我尝试通过调用 DAO 在数据库中创建对象的方式,但它在 this?.insertNote(notes) 行之后崩溃。
var notes = Notes(id = date, name = noteText)
with(notesDao) {
this?.insertNote(notes)
}
这是我用来创建它的实体。
@Entity
data class Notes(
@PrimaryKey val id: Int?,
val name: String
)
如果这太含糊,我很抱歉。
【问题讨论】:
-
这似乎不是问题。这只是使用日期作为 id。
标签: android database sqlite kotlin