Version:0.9 StartHTML:-1 EndHTML:-1 StartFragment:0000000111 EndFragment:0000003430 <!--StartFragment-->
public class DBAdapter {
private static final String DATABASE_NAME = "ggariDB";
private static final String DATABASE_TABLE = "TB_GGARI";
private static final String DATABASE_TABLE2 = "TB_GGARI2";
private static final int DATABASE_VERSION = 1;
private final Context mCtx;
private DatabaseHelper mDbHelper;
private SQLiteDatabase mDb;
private static final String DATABASE_CREATE = "CREATE TABLE " + DATABASE_TABLE + "" +
" ( ID INTEGER PRIMARY KEY, ADDR TEXT, NAME TEXT)";
private static final String DATABASE_CREATE2 = "CREATE TABLE " + DATABASE_TABLE2 + "" +
" ( ID2 INTEGER PRIMARY KEY, PHONE TEXT)";
Version:0.9 StartHTML:-1 EndHTML:-1 StartFragment:0000000111 EndFragment:0000004302 <!--StartFragment-->
public static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
//데이터베이스 최초 생성될때 실행 디비가 생성될때 실행된다
Log.d("TEST", "onCreate DATABASE_CREATE");
db.execSQL(DATABASE_CREATE);
db.execSQL(DATABASE_CREATE2);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = "drop table if exists TB_GGARI";
String sql2 = "drop table if exists TB_GGARI2";
db.execSQL(sql);
db.execSQL(sql2);
}
}
public void open() throws SQLException {
mDbHelper = new DatabaseHelper(mCtx);
/*DB가 없다면 onCreate가 호출 후 생성, version이 바뀌었다면 onUpgrade 메소드 호출
mDb = mDbHelper.getWritableDatabase();
*/
// 권한부여 읽고 쓰기를 위해
mDb = mDbHelper.getWritableDatabase();
Log.d("TEST", "open");
}
<!--EndFragment--><!--EndFragment-->
DB를 생성 후 테이블 2개를 만들고 싶어서 이렇게 만들었습니다.
근데 이런 에러가 뜨는데
01-13 16:15:12.760 18151-18151/com.example.myapplication E/SQLiteLog: (1) no such table: TB_GGARI2
01-13 16:15:12.770 18151-18151/com.example.myapplication D/AndroidRuntime: Shutting down VM
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: Process: com.example.myapplication, PID: 18151
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: android.database.sqlite.SQLiteException: no such table: TB_GGARI2 (code 1): , while compiling: SELECT * FROM TB_GGARI2
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1093)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:670)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1440)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1287)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1158)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1326)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at com.example.myapplication.DBAdapter.AllRows2(DBAdapter.java:134)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at com.example.myapplication.Setting$3.onClick(Setting.java:95)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.view.View.performClick(View.java:5191)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.view.View$PerformClick.run(View.java:20931)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.os.Looper.loop(Looper.java:145)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5944)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:372)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
01-13 16:15:12.780 18151-18151/com.example.myapplication E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
두번째 만든 테이블을 such error가 뜰까요..ㅜ