2 개 테이블에서 조회하는 방법은 다음과 같이 그것을 할하나의 테이블에 (단순) CursorAdapter
int[] values = {R.id.tv_benzinarie,R.id.tv_adresa,R.id.tv_dist}
Cursor cursor = getStations_List();
SimpleCursorAdapter adapter = new SimpleCursorAdapter(getBaseContext(), R.layout.item_list, cursor,FROM_Benzinarii_onList, values);
setListAdapter(adapter);
을하지만 지금은 추가 필요 다른 테이블에서 colum을 가격으로 가져오고 커서를 가져올 수 없습니다. 아래 코드와 다른 많은 코드를 사용해 보았습니다.
public static String[] FROM_Benzinarii_onList = {DBConstants.Denumire_Benzinarie, DBConstants.Adresa, DBConstants.Distance, DBConstants.Pret, _ID};
public Cursor getStations_List(){
db = helper.getReadableDatabase();
String sql = " select " + DBConstants.TABELA_BENZINARII + "." + DBConstants.Denumire_Benzinarie + "," + DBConstants.TABELA_BENZINARII + "." + DBConstants.Adresa
+ "," + DBConstants.TABELA_BENZINARII + "." + DBConstants.Distance + "," + DBConstants.TABELA_PRETURI + "." + DBConstants.Pret
+ " from " + DBConstants.TABELA_PRETURI + "," + DBConstants.TABELA_BENZINARII
+ " where " + DBConstants.TABELA_BENZINARII + "." + DBConstants.ID_Benzinarie + " = " + DBConstants.TABELA_PRETURI + "." + DBConstants.ID_Benz;
return db.rawQuery(sql, null);
}
다음 (!?이 올바른지 나도 몰라) 같은 방법으로 SimpleAdapter를 구성
int[] values = {R.id.tv_benzinarie,R.id.tv_adresa,R.id.tv_dist,R.id.tv_pret};
Cursor cursor = getStations_List();
SimpleCursorAdapter adapter = new SimpleCursorAdapter(getBaseContext(), R.layout.item_list, cursor,FROM_Benzinarii_onList, values);
setListAdapter(adapter);
를 내가 얻을 :
이Caused by: java.lang.IllegalArgumentException: column '_id' does not exist
나도 몰라 새 커서가 FROM_Benzinarii_onList
과 관련이 있지만 db.query
을 사용할 수없는 경우 여기 도와주세요!
좋아, 어떻게 할 수 있습니까? 결과 문자열 배열에 지정했지만 커서와 아무 관계가 없습니다. – AlexAndro
String []에는 _id라는 요소가 있습니다. 커서에 커서가 있어야합니다. 따라서 SELECT에 있어야합니다. – njzk2