2012-07-02 2 views
0

이 오류가 발생합니다. 나는 이미 데이터베이스를 가지고있다. 그리고 테이블을 추가하고 항목을 삽입합니다.이 단계를 제어하고 항목을 삽입 할 때 오류가 없습니다. 그러나 항목을 새 테이블에 넣으려는 경우이 오류가 발생합니다. find. 나는 에뮬레이터에서 그것을 제어한다. 나는 내 바탕 화면에 .db를 푸시한다. 나는 그것을 볼 수있다. 그렇다. 새로운 테이블은 없다.하지만 반드시 있어야한다.오류 : 해당 테이블 없음

앱을 제거하고 내 앱을 다시 설치할 때 문제가 없으면 테이블이 있습니다. 하지만 난 WANTTO를 다시 설치하지 말고 업그레이드하고 싶다. 이것으로 무엇을 할 수 있습니까?

package xxxxx; 

import android.content.Context; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteOpenHelper; 

public class DatabaseHelper extends SQLiteOpenHelper { 

    public static final String DB_NAME="xxx.db"; 
    public static final String TABLE_NAME="already_exist"; 
    public static final String TABLE_NAME2="already_exist2"; 
    public static final String TABLE_NAME3="new_table"; 
    public DatabaseHelper(Context context) { 
     super(context, DB_NAME, null, 2); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
     db.execSQL("CREATE TABLE " + TABLE_NAME + "(_id INTEGER PRIMARY KEY AUTOINCREMENT, s TEXT)"); 
     db.execSQL("CREATE TABLE " + TABLE_NAME2 + "(_id INTEGER PRIMARY KEY AUTOINCREMENT, a TEXT,v TEXT)"); 
     db.execSQL("CREATE TABLE " + TABLE_NAME3 + "(_id INTEGER PRIMARY KEY AUTOINCREMENT, x TEXT)"); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { 

     } 

} 
+0

포스트 로그 캣과 일부 코드 – Praveenkumar

+0

내 질문을 편집 할 수 있습니다. 그리고 logcat 같은 테이블을 말합니다 (그것은 새로운 테이블에 대한) –

+0

2 내 DB 버전을 설정하지만 내 오류를 수정하지 마십시오. –

답변

0
@Override 
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { 
arg0.execSQL("CREATE TABLE " + TABLE_NAME3 + "(_id INTEGER PRIMARY KEY AUTOINCREMENT, x TEXT)"); 
    } 


@Override 
public void onDowngrade(SQLiteDatabase arg0, int arg1, int arg2) { 
arg0.execSQL("CREATE TABLE " + TABLE_NAME3 + "(_id INTEGER PRIMARY KEY AUTOINCREMENT, x TEXT)"); 
    } 
관련 문제