[英]Android room inserting with a query
如果省略突出显示的列列表,则为所有列提供值,例如:-
@Query("INSERT INTO TestTable VALUES(null,:a,:b)")
List<TestTable> getall(String a, String b, String columna, String columnb);
Android Studio没有抱怨,但是随后您遇到了:-的编译器错误
error: INSERT query type is not supported yet. You can use:SELECT, DELETE, UPDATE
因此,也许早晚会更好。
我做的是调用getOpenHelper().getWritableDatabase()
在RoomDatabase
。
然后,您将获得本质上是非Room方式的SupportSQLiteDatabase object
。
从那里,您可以调用execSQL()
或将insert()
与表名和ContentValues一起使用 。
@Entity
data class ModulesRoom(
@PrimaryKey(autoGenerate = false)
var id: Int = 0,
var nav: String = "",
var name: String = "",
var imageurl: String = ""
)
for List Object
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun saveEmployees(modules: List<ModulesRoom>)
for single obbjet
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun saveEmployees(modules: ModulesRoom)
Ussage
val mModules = Modules()
mModules.id = values
mModules.nav = values
saveEmployees(mModules)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.