값을 데이터베이스에 저장하고 저장된 데이터를 검색하는 응용 프로그램을 만들었습니다. 실행 모드에서 응용 프로그램을 실행하는 동안 모든 것이 잘 작동하는 것처럼 보이지만 값은 성공적으로 저장되고 검색됩니다. 그러나 디버그 모드로 실행하면 프로세스가 IllegalStateException을 던지고 지금까지 원인을 찾지 못했습니다. 모든 것이 잘 작동하지만 위의 코드를 실행하는 동안데이터베이스 문제 : 문제를 진단하고 해결하는 방법?
private Recording getRecording(String filename) {
dbAdapter = dbAdapter.open();
Recording recording = dbAdapter.getRecording(filename);
dbAdapter.close();
return recording;
}
:
public Recording getRecording(String filename) {
Recording recording = null;
String where = RECORDING_FILENAME + "='" + filename + "'";
Log.v(TAG, "retrieving recording: filename = " + filename);
try {
cursor = db.query(DATABASE_TABLE_RECORDINGS, new String[]{RECORDING_FILENAME, RECORDING_TITLE, RECORDING_TAGS, RECORDING_PRIVACY_LEVEL, RECORDING_LOCATION, RECORDING_GEO_TAGS, RECORDING_GEO_TAGGING_ENABLED, RECORDING_TIME_SECONDS, RECORDING_SELECTED_COMMUNITY}, where, null, null, null, null);
if (cursor.getCount() > 0) {
cursor.moveToFirst();
//String filename = c.getString(0);
String title = cursor.getString(1);
String tags = cursor.getString(2);
int privacyLevel = cursor.getInt(3);
String location = cursor.getString(4);
String geoTags = cursor.getString(5);
int iGeoTaggingEnabled = cursor.getInt(6);
String recordingTime = cursor.getString(7);
String communityID = cursor.getString(8);
cursor.close();
recording = new Recording(filename, title, tags, privacyLevel, location, geoTags, iGeoTaggingEnabled, recordingTime, communityID);
}
}
catch (SQLException e) {
String msg = e.getMessage();
Log.w(TAG, msg);
recording = null;
}
return recording;
}
과는 다른 클래스에서 호출 (설정) :
개체 기록을 검색하는 방법은 다음과 같다 다른 스레드에서 예외를 발견했습니다. alt text http://img509.imageshack.us/img509/862/illegalstateexception.jpg
그리고 무엇이 possib인지 모릅니다. 이 예외의 원인이 아니며 원인을 진단하기 위해 해당 스레드에서 코드를 디버깅하는 방법을 설명합니다.
여기에 가능한 문제가 누구인지 알고 있다면 매우 감사 할 것입니다.
감사합니다.
예외의 전체 스택 추적은 무엇입니까? 적어도 관련된 비트는? – MattC