2017-08-21 12 views
-4
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 


     db.execSQL("ALTER TABLE "+TABLE_NAME+" ADD COLUMN usertype BOOLEAN NOT NULL default false"); 

} 

このコードは親切に働いてくれ改善をお勧めされていない任意の更新クエリはONUPGRADE方法

+1

あなたは「うまくいかない」とはどういう意味ですか? – laalto

+0

** DATABASE_VERSION **定数の値を増やしてください。 –

+0

どこのコードで新しいデータベースのバージョンを更新する必要がありますか? –

答えて

0
public static final int DATABASE_VERSION_1 = 1; 
public static final int DATABASE_VERSION_2 = 2; 

使用ONUPGRADEでこのコード()メソッド

if(DATABASE_VERSION_2 > DATABASE_VERSION_1) 
{ 
db.execSQL("ALTER TABLE "+TABLE_NAME+" ADD COLUMN usertype BOOLEAN NOT NULL 
default false"); 

} 

であればコンストラクタでも同様に変更する必要があります。 DATABASE_VERSION_1の代わりにDATABASE_VERSION_2を配置し、onUpgrade()メソッドを呼び出す必要があります。

public DBHelper(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION_2); 
+0

新しいデータベースのバージョンを更新する必要がありますか?はいの場合はどこにどのように?私の現在のデータベースのバージョンは1 –

+0

私はあなたがそれをチェックアウトできる答えを更新しました。 –