我在Android的SQLite數據庫,例如:SQLite數據庫Android開所有列值到字符串數組
表1人:
- 列1:ID
- 列2:命名
- 柱3:朋友
表2朋友:
- 列1:ID
- 列2:allFriends
的ID是兩個表中的相同,在表1的id == ID在表2 我想從特定表2得到的所有值通過id列「allFriends」,並將列中的所有字符串值插入到String數組/列表中。
我在Android的SQLite數據庫,例如:SQLite數據庫Android開所有列值到字符串數組
表1人:
表2朋友:
的ID是兩個表中的相同,在表1的id == ID在表2 我想從特定表2得到的所有值通過id列「allFriends」,並將列中的所有字符串值插入到String數組/列表中。
試試這個,
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;
}
什麼是P人和朋友F? –
它的別名。請閱讀http://www.w3schools.com/sql/sql_alias.asp –
應始終避免使用SELECT *。改用字段列表。 –
你的SQL查詢:
SELECT allFriends FROM friends where id == Id_from_person
Id_from_person - 你想從數據庫到收到誰的朋友的人的ID。
用於執行查詢讀取this。
Ofc。這不是複製粘貼的答案。你需要自己解決一下你的問題。 –
似乎很簡單,讓你嘗試過什麼? – Roope