티스토리 뷰
목차
반응형
애플리케이션은 동적으로 테이블의 존재 여부를 파악하여 테이블의 생성 여부를 결정해야 합니다. 이런 동작을 하기 위한 로직엔 두 개가 있습니다.
1. sqlite 테이블이 존재하면 건너뛴다 (삭제 후 생성되지 않음)
2. sqlite 테이블이 존재하지 않으면 생성한다 (새롭게 생성됨)
[안드로이드 DB 테이블 확인, 존재 여부]
1번 경우 예제
1 | db.execSQL("create table if not exists month (NumericalValue integer);"); | cs |
"if not exists"란 명령어로 테이블이 존재하면 생성 과정을 건너뛰게 하였습니다. 예를 들어, 이미 존재하는 테이블일 경우엔 기존 테이블이 계속해서 사용됩니다.
2번 경우 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | SQLiteDatabase db = openOrCreateDatabase("FCimsi", MODE_PRIVATE, null); Cursor c = db.rawQuery("SELECT name FROM sqlite_master WHERE type='table'", null); if(c.moveToFirst()){ for(;;){ if(c.getString(0).equals("table")){ } // 처리구간 if(!c.moveToNext()){ break; } } } // 테이블 존재 유무 파악 후 생성할 건지 아닌지 결정함 db.execSQL("create table if not exists month (NumericalValue integer);"); | cs |
처리 구간을 통해서 테이블을 새로 생성할지 안 할지 결정할 수 있습니다.
여기까지 간단한 사용법이었고 더 많은 정보는 아래 글들 참고해주세요.
관련 글
구글맵 + 안드로이드 = 실시간 마커 갱신
https://codingcoding.tistory.com/213
MySql JDBC 연결 오류
https://codingcoding.tistory.com/995
Cannot find one or more components. Please reinstall the application
반응형