我在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