属性 Name を持つ Course という名前の sqlite テーブルからデータを取得しようとしています。
ここでテーブルを作成します。
private static final String COURSE_ID = "CourseID";
private static final String COURSE_NAME = "Name";
private static final String COURSE_CODE = "CourseCode";
private static final String COURSE_ROWID = "_id";
private static final String COURSE_CREATE =
"create table " +
"Course" + " ( " +
COURSE_ROWID + " integer primary key autoincrement, " +
COURSE_ID + " integer not null,"
+ COURSE_NAME + " text not null, " +
COURSE_CODE + " text not null" + ");";
この関数でデータを選択しようとしています。
public Cursor getCourseNames() throws SQLException {
String[] values = {COURSE_NAME};
mDb = mDbHelper.getReadableDatabase();
return mDb.query("Course",values, COURSE_ROWID + "=" + "Name", null, null, null, null, null);
}
次に、メインクラスで次のように実行します。
public void buildCoursetoChapterList(){
Cursor cursor = dbHelper.getCourseNames();
SimpleCursorAdapter adapter = new SimpleCursorAdapter(MainActivity.this, android.R.layout.simple_list_item_1, cursor, null, null);
ListView listView = (ListView) findViewById(R.id.list);
listView.setAdapter(adapter);
}
データを取得してリストビューに入れたいだけですが、何が間違っているのでしょうか? 論理的なようSelect from Course WHERE _id = "Name"
です。
ああ、エラーを忘れてしまいました... java.lang.IllegalArgumentException: 列 '_id' が存在しません