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

데이터 베이스 no such table error좀 봐주세요....ㅠㅠ

0 추천

자꾸 데이터 베이스 테이블 에러가 뜨는데 제가 뭘 잘못한건지 아직 sql문을 잘 이해를 못하고 활용을 잘 못해서 못찾겠어요....ㅠㅠ 

 

        public void insertRecord (String name, String phonenumber, int age, int month, int day){
            try {


                String query =
                        "INSERT INTO "+ TABLENAME +" VALUES (null, '"+name+"', '"+phonenumber+"', '"+age+"', '"+month+"', '"+day+"' );";
            db.execSQL(query);

        }catch(Exception ex){
            Log.d(TAG, "exception in insertRecord", ex);
        }
    }

    public class DBHelper extends SQLiteOpenHelper {

        public DBHelper(Context context) {
            super(context, DATABASENAME, null, DATABASEVERSION);
        }


        @Override
        public void onCreate(SQLiteDatabase db) {

//
            // create table
            String CREATE_SQL = "CREATE TABLE IF NOT EXISTS " + TABLENAME + "("
                    + "_ID INTEGER  NOT NULL PRIMARY KEY AUTOINCREMENT, "
                    + "NAME TEXT, "
                    + "PHONENUMBER TEXT, "
                    + "AGE INTEGER, "
                    + "MONTH INTEGER, "
                    + "DAY INTEGER )";

            try {
                db.execSQL(CREATE_SQL);

            } catch(Exception ex) {
                Log.e(TAG, "Exception in CREATE_SQL", ex);
            }

        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

            db.execSQL("DROP TABLE IF EXISTS "+TABLENAME);
            onCreate(db);
        }

    }



10-16 04:39:00.099 3816-3816/com.example.chahyunbin.cwapp D/BookDatabase: exception in insertRecord
    android.database.sqlite.SQLiteException: no such table: MEMBER (code 1): , while compiling: INSERT INTO MEMBER VALUES (null, '차현빈', '01075666734', '21', '9', '9' );
    #################################################################
    Error Code : 1 (SQLITE_ERROR)
    Caused By : SQL(query) error or missing database.
    	(no such table: MEMBER (code 1): , while compiling: INSERT INTO MEMBER VALUES (null, '차현빈', '01075666734', '21', '9', '9' );)
    #################################################################
        at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
        at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1221)
        at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:695)
        at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
        at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59)
        at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
        at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:2212)
        at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:2142)
        at com.example.chahyunbin.cwapp.MemberDatabase.insertRecord(MemberDatabase.java:63)
        at com.example.chahyunbin.cwapp.AddMember.insert(AddMember.java:155)
        at com.example.chahyunbin.cwapp.AddMember$2.onClick(AddMember.java:126)
        at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:177)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:7002)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)

 

aofhdzzz1 (690 포인트) 님이 2018년 10월 16일 질문

1개의 답변

+1 추천
 
채택된 답변

오류 로그를 천천히 읽어보세요 

android.database.sqlite.SQLiteException: no such table: MEMBER (code 1): , while compiling: INSERT INTO MEMBER VALUES (null, '차현빈', '01075666734', '21', '9', '9' );

 

aucd29 (218,390 포인트) 님이 2018년 10월 16일 답변
aofhdzzz1님이 2018년 10월 16일 채택됨
제가 잘 이해한건지는 모르겠지만 제가 이해한거는 member이라는 테이블을 찾을 수 없다라는 건데 여기서 tablename이 member이거든요 제가 테이블생성을한다고 했는데 어디가 놓친부분인지 모르겠어요 ㅠㅠ
member 테이블이 없는 상태로 앱 설치 -> 코드에서 member 테이블 추가했지만, migration안하지 않았을까요?
테이블이 추가되면 migration을 해줘야 합니다. 중요한 데이터가 없다면 앱을 재설치 해보세요.
와 해결됬어요!!! 감사합니다!!!!
...