SQLiteDatabase db, ch
mHelper = new WordDBHelper(this);
datech = new DateChecker(this);
db = mHelper.getReadableDatabase();
Cursor cursor;
cursor = db.rawQuery("SELECT * FROM word", null);
while(cursor.moveToNext()){
words.add(cursor.getString(0));
means.add(cursor.getString(1));
}
cursor.close();
db.close();
ch = datech.getReadableDatabase(); <--여기서 에러가 납니다... 이거만 참조로 바꾸면 에러가 안나고 실행됩니다..
각각의 openhelper는 다음과 같습니다.
class WordDBHelper extends SQLiteOpenHelper{
public WordDBHelper(Context context){
super(context, "word.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE word(word_spell VARCHAR(15) PRIMARY KEY," + " word_mean VARCHAR(10) NOT NULL);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS word");
onCreate(db);
}
}
class DateChecker extends SQLiteOpenHelper{
public DateChecker(Context context){
super(context, "date.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE date(day INT NOT NULL," + " month INT NOT NULL," + " year INT NOT NULL," + " index INT PRIMARY KEY);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS date");
onCreate(db);
}
}
WordDBHelper랑 DateChecker랑 똑같이 쓴 거 같은데, 왜 위에꺼는 에러가 안나고 밑에꺼만 실행이 되지 않는지 모르겠습니다;;
도와주세요~!!
해결 했습니다. 테이블 에서 day, month, year를 이름으로 쓰니까 안됬던 거였어요 ㅎ