마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

테이블 2개 생성했는데 2번째 테이블을 검색을 못해요 ㅜㅜ

0 추천

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가 뜰까요..ㅜ

익명사용자 님이 2016년 1월 13일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...