我正在尝试使用新的房间库,但出现此错误
Error: There is a problem with the query: [SQLITE_ERROR] SQL error or missing database (no such table: Station)
Error: Not sure how to convert a Cursor to this method's return type
Warning: Schema export directory is not provided to the annotation processor so we cannot export the schema. You can either provide
room.schemaLocation
annotation processor argument OR set exportSchema to false.Error:org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
房间数据库.kt
@Database(entities = TrolleyType::class), version = 2)
abstract class AppDatabase : RoomDatabase() {
abstract fun stationDao(): StationDao
}
MyDao.kt
@Dao
interface MyDao {
@get:Query("SELECT * FROM Station")
val stations: List<Station>
@get:Query("SELECT * FROM TrolleyType")
val trolleyTypes: List<TrolleyType>
}
实体
@Entity
data class Station(
@PrimaryKey @ColumnInfo(name = "_id") var id: Int = 0,
@ColumnInfo(name = "StationName") var stationName: String? = "",
@ColumnInfo(name = "StationArabic") var stationArabic: String? = ""
)
@Entity
data class TrolleyType(
@PrimaryKey @ColumnInfo(name = "_id") var id: Int = 0,
@ColumnInfo(name = "Type") var stationName: String? = "",
@ColumnInfo(name = "TypeArabic") var stationArabic: String? = ""
)
最佳答案
原来我只是忘记将 Station 实体添加到 RoomDatabase
添加后一切正常
@Database(entities = TrolleyType::class, Station::class), version = 2)
abstract class AppDatabase : RoomDatabase() {
abstract fun stationDao(): StationDao
}
关于android - 尝试使用 Room 库时出错。 [SQLITE_ERROR] SQL 错误或缺少数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45170399/