4
tl; dr:我有問題試圖讓我的代碼工作,現在我可以使用Anko創建數據庫並插入列,但當我嘗試插入數據時當我打開我的sqliteman列空的數據庫中,我也不知道如何檢索字符串的數據/ INT要發送到View
使用Anko添加/查詢/解析SQLite
這顯然是正常工作我可以看到我的數據庫,所有已創建具有正確名稱的列
class MySqlHelper(ctx: Context) : ManagedSQLiteOpenHelper(ctx, "db_main") {
companion object {
private var instance: MySqlHelper? = null
@Synchronized
fun getInstance(ctx: Context): MySqlHelper {
if (instance == null) {
instance = MySqlHelper(ctx.applicationContext)
}
return instance!!
}
}
override fun onCreate(db: SQLiteDatabase) {
db.createTable("db_main", true,
"_id" to INTEGER + PRIMARY_KEY + AUTOINCREMENT + NOT_NULL,
"name" to TEXT,
"day" to INTEGER)
}
override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
}
// Access property for Context
val Context.database: MySqlHelper
get() = getInstance(applicationContext)
}
這應該工作,但是我雖然在數據庫中的所有列它不,我不明白他們沒有被添加
任何錯誤消息下面的代碼被稱爲MainActivity
val db = MySqlHelper(this)
fun addtosqllite(title: String, datepicker: DatePicker) {
db.use {
insert("db_main",
"_id" to 1,
"name" to title,
"day" to datepicker.dayOfMonth)
}
}
我不知道該怎麼做 我需要從數據庫中檢索數據。我一直在閱讀文檔,但我不知道如何實現this
比方說,我有三列_id
,name
和day
我在做這樣的事情
db.select("main_db","_id","name","day").exec {
parseSingle //something goes here to send the data to String/Int
}
如果希望所有colums,簡單地說:'選擇( 「main_db」)EXEC {',你想指定行:'選擇( 「main_db」, 「姓名」)EXEC {'例如。 – Halima