2017-08-28 88 views
2

選擇數據在我的數據庫中,有兩個表,從兩個表中科特林安口

1)任務:(ID(INTEGER + PRIMARY_KEY),標題,描述,時間戳,CATEGORY_ID(類別的外鍵 - > ID))

2)類別:(ID(INTEGER + PRIMARY_KEY),名稱)

從表安口是提供一種方法等選擇數據:

var mDatabase: DatabaseManager = DatabaseManager.getInstance(activity) 
var mResult: List<TaskModel> = ArrayList() 
mDatabase.use { 
    mResult = select(TABLE_TASK).parseList(classParser()) 
} 

我想要的是以其類別名稱顯示任務列表 我檢查了所有教程和堆棧鏈接,但沒有得到任何方法來實現此目的。

有什麼方法可以從Kotlin Anko的兩個表中選擇數據?

謝謝!

+1

[Anko SQLite](https://github.com/Kotlin/anko/wiki/Anko-SQLite),像[SQLiteDatabase](https://developer.android.com/reference/android/database /sqlite/SQLiteDatabase.html),它本身不支持連接。然而,Anko沒有提供'rawQuery()'機制,所以你甚至不能自己構建它... – ephemient

回答

1

它的晚,但能爲別人有用像我這樣的

總之答案是,是的

你應該創建一個數據類型,包括連接列數據變量是這樣的:

data class joinTable(val id: Int, val title: String, val name:String) 

並在內部連接中使用select命令

database.use { 
      select("table1 inner join table2", 
        "id,title,name").exec { parseList<joinTable>(classParser()) } 
     } 

那' s它

+0

感謝你的努力,但我已將數據庫轉移到了Room。 – Maddy

+0

歡迎您,別擔心,它可能對其他人有用:) – Ali