私は、1 つのタイプの同様のフィールドを持つデータのみを照会して表示したいデータベースを持っています。すべての行に日 (月から日) が含まれているとします。日として... SimpleCursorAdapter を使用して、データベースからすべての行を表示しました... 基本的に、SimpleCursorAdapter でクエリを実行して、月曜日を日としてだけでデータの行を表示する方法を知りたいです...
どんな助けでも大歓迎です... :)
次のコードを使用すると、データベースからすべてのデータを表示できます...
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.testlayout2);
listContent = (ListView)findViewById(android.R.id.list);//.id..list);
mDB = new DataSource(this);
mDB.open();
cursor = mDB.queueAll();
String[] from = new String[]{
MySQLiteHelper.KEY_START, MySQLiteHelper.KEY_END,
MySQLiteHelper.KEY_SUBJECT, MySQLiteHelper.KEY_LOC,
MySQLiteHelper.KEY_TEACHER };
int[] to = new int[] {R.id.tvStart, R.id.tvEnd,
R.id.tvSub, R.id.tvLoc, R.id.tvTeacher };
cursorAdapter = new SimpleCursorAdapter(this, R.layout.row, cursor,
from, to);
listContent.setAdapter(cursorAdapter);
listContent.setOnItemClickListener(listContentOnItemClickListener);
}
}
クエリはこのようにしたい..
Cursor cursor = db.query(table, null, "day like " + "'%Monday%'",null,
null, null, null);
わかりました...お手数をおかけして申し訳ありません。ただし、これのどこが間違っているのか教えてください..コードでこれを作成して、日を照会し、時間で昇順に並べ替えました..
public Cursor queryDay(String days) {
Cursor cursor = mDatabase.query(DATABASE_TABLE, mAllColumns, "day like " +
days, null, null, null, Database.KEY_START + " ASC");
if (cursor.moveToNext()) {
return cursor;
}
return cursor;
}
ただし、このエラーが発生します。
android.database.sqlite.SQLiteException: no such column: Thursday: ,
while compiling: SELECT _id, day,start_time, end_time, sub, location,
teacher FROM subjectTable WHERE day like Thursday ORDER BY start_time ASC
私はこれをこのように呼んでいます..
Cursor cursor = mDB.queryDay("Thursday");
startManagingCursor(cursor);