2011-01-07 10 views
0

책에서 여러 자습서와 sqlite 섹션을 읽고 적용 해 보았습니다. 이제 나는 그것을 시도하고 이해하기 위해 혼란스러워했지만 지금은 항상 매번 강제로 닫을 것이고 확실하지는 않습니다. 나는 내 코드를 반복 해왔지만 어쩌면 내가 sqlite/데이터베이스를 처음 사용하기 때문에 문제를 찾을 수 없다. 어떤 도움을 주시면 감사하겠습니다 :안드로이드 sqlite 문제

public class Events extends Activity { 

private TextView tv; 
private DataHelper dh; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    tv = new TextView(this); 
    dh = new DataHelper(this); 
    dh.deleteAll(); 
    //dh.addEvent("James"); 
    //Cursor c = dh.getEvent(); 
    //startManagingCursor(c); 
    //tv.setText(dh.showEvent(c)); 
    setContentView(tv); 
} 

}

public class EventsData extends SQLiteOpenHelper { 

private static final String DATABASE_NAME = "events.db"; 
private static final int DATABASE_VERSION = 1; 
private static final String DATABASE_CREATE = "CREATE TABLE" + TABLE_NAME + "(" + TITLE + " TEXT)"; 
private static final String DATABASE_UPGRADE = "DROP TABLE IF EXISTS " + TABLE_NAME; 

public EventsData(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    // TODO Auto-generated method stub 
    db.execSQL(DATABASE_CREATE); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    // TODO Auto-generated method stub 
    db.execSQL(DATABASE_UPGRADE); 
    onCreate(db); 
} 

}

public class DataHelper { 

private Context context; 
private SQLiteDatabase db; 
private EventsData eventsData; 

public DataHelper(Context context) { 
    this.context = context; 
    eventsData = new EventsData(this.context); 
} 

public void addEvent(String name) { 
    db = eventsData.getWritableDatabase(); 
    ContentValues cv = new ContentValues(); 
    cv.put(TITLE, name); 
    db.insertOrThrow(TABLE_NAME, null, cv); 
} 

}

내가 주석을 제거하지만 일단 응용 프로그램의 벌금을 실행 addEvent()을 주석 처리

, 힘이 닫힙니다.

+0

감사합니다. =] – semajhan

답변

1

빠른 샷 : CREATE TABLE 뒤에 공백이 없습니다.

+0

공간을 추가해야한다는 것을 결코 알지 못했습니다. 팁 고마워. – semajhan

0

오류 코드를 logcat에서 확인할 수 있습니다. 그것은 강제로 가까이에있는 원인을 알려줍니다. logcat을 사용하여 디버깅에 대한 링크 Debugging in Android using Eclipse