2011-12-29 3 views
0

내 앱 중 하나에 매우 귀찮은 문제가 있습니다. 앱과 데이터베이스의 증가 된 버전으로 업데이트를 릴리스 할 때. 업데이트에Expandable Listview로 성가신 SQLite 쿼리 문제

해고하고 기존 데이터베이스가 삭제되고 새가에 가져됩니다. 다음은 업데이트 코드의 확장 가능한 메뉴는 이것으로 제공

db.execSQL("DROP TABLE IF EXISTS table"); 
     db.execSQL("DROP TABLE IF EXISTS android_metadata"); 

     try { 
      InputStream is = getAssets().open("sqlfile"); 
      BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 
      String line = reader.readLine(); 
      while(line != null){ 
       db.execSQL(line); 
       line = reader.readLine(); 
      } 
      reader.close(); 

     } catch (IOException e) { 

      throw new Error("Error copying database"); 

     } 

    } 

당신이 국가에 클릭하고 수입니다 해당 국가의 모든 행을 나열합니다. 문제는 이전 버전에서이 기능이 정상적으로 작동한다는 것입니다. 그러나 업데이트되면 이것이 전혀 작동하지 않을 것이지만 다른 모든 쿼리는 잘 작동합니다. 아래는 관련 검색어입니다.

답변

1

onUpdate에서 임시 테이블로 데이터베이스 데이터를 백업 한 다음 테이블을 삭제하고 새 테이블을 만듭니다. Fnally는 이전 데이터를 복사합니다.

UPDATE : 새 데이터베이스를 만들 때 내가 지금 잘못하고있는 무슨

당신은 또한 백업 커서를 통해 자바 변수에 대한 데이터를 열거하고, 다시

+0

그들을 덤프 수 있습니다. 내가하고 싶은 것은 오래된 것을 지우고 새로운 것을 가져 오는 것입니다. 분명히 이것은 제안과 동일하지만 임시 테이블을 잘라 내기 – Somk

+0

테이블을 삭제하고 있습니다.이 테이블은 내용을 삭제하고 있습니다. –