私は2つのテーブルを持っており、リストアクティビティを使ってリストビューに両方の部分を表示したいと思います。しかし、テーブルの1つだけが表示されています。私は外部キーを設定していますが、1つのテーブルを除いて何も表示されていません。Android - 複数のSQLiteテーブルからデータを取得するにはどうすればよいですか?
私の表Iは、情報私は情報を見る
public Cursor fetchTime() {
// TODO Auto-generated method stub
return ourdb.query(WW_TIMETABLE, new String[] {KEY_ROWIDTIME, KEY_HOUR, KEY_FOREIGN}, null, null, null, null, null);
}
を照会方法
db.execSQL("CREATE TABLE " + WW_TABLE +
" (" + KEY_ROWIDLL + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
KEY_LAT + " TEXT NOT NULL, " +
KEY_LON + " TEXT NOT NULL);");
db.execSQL("CREATE TABLE " + WW_TIMETABLE +
" (" + KEY_ROWIDTIME + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
KEY_HOUR + " TEXT NOT NULL, " +
KEY_FOREIGN + " INTEGER," +
" FOREIGN KEY ("+KEY_FOREIGN+") REFERENCES "+WW_TABLE+" ("+KEY_ROWIDLL+") ON DELETE CASCADE);");
private void fillData() {
// Get all of the rows from the database and create the item list
mTimeNotesCursor = mDbHelper.fetchTime();
startManagingCursor(mTimeNotesCursor);
// startManagingCursor(mNotesCursor);
// Create an array to specify the fields we want to display in the list (only TITLE)
String[] from = new String[]{WWDatabase.KEY_HOUR,WWDatabase.KEY_FOREIGN};
//String[] fromTime = new String[]{WWDatabase.KEY_HOUR};
// and an array of the fields we want to bind those fields to (in this case just text1)
int[] to = new int[]{R.id.textView2, R.id.textView3};
//int[] toTime = new int[]{R.id.textView4};
// Now create a simple cursor adapter and set it to display
SimpleCursorAdapter notes =
new SimpleCursorAdapter(this, R.layout.time_text_row, mTimeNotesCursor, from, to);
setListAdapter(notes);
// SimpleCursorAdapter notesTime =
//new SimpleCursorAdapter(this, R.layout.time_text_row, mTimeNotesCursor, fromTime, toTime);
//setListAdapter(notesTime);
}
私はこれで何の誤りもありませんが、私が言ったように、それは一つのテーブルだけを示しています。すべての助けに感謝します。
支援するために、[他の質問] [1]をご覧ください。 [1]:http://stackoverflow.com/questions/8731603/error-on-selectfrom-statement-android-sqlite-database – Christian