2017-07-18 519 views
1

我试图使用新的房间库,但我得到这个错误尝试使用Room库时出错。 [SQLITE_ERROR] SQL错误或丢失的数据库

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.

enter image description here

RoomDatabase.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? = "" 
) 

回答

10

事实证明,我只是忘了将它添加的每一件事情按预期工作

@Database(entities = TrolleyType::class, Station::class), version = 2) 
abstract class AppDatabase : RoomDatabase() { 
    abstract fun stationDao(): StationDao 
} 
后站实体添加到RoomDatabase

相关问题