2016-07-25 42 views
0

我在Android的SQLite數據庫,例如:SQLite數據庫Android開所有列值到字符串數組

表1人:

  • 列1:ID
  • 列2:命名
  • 柱3:朋友

表2朋友:

  • 列1:ID
  • 列2:allFriends

的ID是兩個表中的相同,在表1的id == ID在表2 我想從特定表2得到的所有值通過id列「allFriends」,並將列中的所有字符串值插入到String數組/列表中。

+1

似乎很簡單,讓你嘗試過什麼? – Roope

回答

1

試試這個,

public ArrayList<String> getAllFriends(int id) { 
    ArrayList<String> friendsNames = new ArrayList<>(); 
    SQLiteDatabase sqLiteDatabase = null; 
    try { 
     String query = "select * from person P join friends F on F.id = P.id where P.id = " + id; 
     Cursor cursor = sqLiteDatabase.rawQuery(query, null); 
     while (cursor.moveToNext()) { 
      friendsNames.add(cursor.getString(cursor.getColumnIndex("allFriends"))); 
     } 
    }catch(Exception ex){ 
     Log.e(TAG,"Erro in geting friends "+ex.toString()); 
    } 
    return friendsNames; 
    } 
+0

什麼是P人和朋友F? –

+0

它的別名。請閱讀http://www.w3schools.com/sql/sql_alias.asp –

+0

應始終避免使用SELECT *。改用字段列表。 –

0

你的SQL查詢:

SELECT allFriends FROM friends where id == Id_from_person 

Id_from_person - 你想從數據庫到收到誰的朋友的人的ID。
用於執行查詢讀取this

+0

Ofc。這不是複製粘貼的答案。你需要自己解決一下你的問題。 –

相關問題