코드

 

생략

c = db.rawQuery("SELECT seq, name FROM sqlite_sequence;", null);
while(c.moveToNext()){
          Log.d("dfe", c.getInt(0)+" "+c.getString(1));
}
c.close();
c = db.rawQuery("SELECT seq FROM sqlite_sequence WHERE name = 'SubjectSetTable';", null);

int index = c.getColumnIndex("seq");
id = c.getInt(index);

생략

 

 

 

LogCat 출력

 

20 SubjectSetTable

Index - 1 requested, with a size of 1

 

 

 

 

 

저렇게 되어 있고 위에 써 놓은 코드의 마지막 줄에서 익셉션이 발생합니다.

 

밑에서 두번째 줄에 index에 디버그로 보면 0값이 저장되어 있습니다..

로그캣 맨 마지막 줄은 e.getMessage()를 출력한 것입니다만..

아마 커서에 레코드가 아무것도 없는 것 같은데 메세지가 이상한 것 같습니다.

 

위에서 sqlite_sequence 테이블의 내용을 미리 로그로 찍어보면 로그캣에 name에 틀림없이 SubjectSetTable가 있습니다.

 

where에서 name = 'SubjectSetTable'을 찾는데 위의 코드에서 에러가 발생하지는 않을 것 같습니다.

 

이유를 모르겠습니다.

 

다른 에러는 없는 걸로 보아 문법적으로도 틀린 건 아닌 듯 합니다.