2011-12-23 22 views
0

古いデータベースを保持し、新しく追加したアイテムをデータベースにアップグレードする必要があります。古いテーブルを保存することは可能ですか?古いバージョンのデータベースをアップグレードする

+0

http://stackoverflow.com/questions/2097657/update-database-android – Abhinava

+0

具体的にお答えください。以前のバージョンのアプリケーションから保存された古いデータベースを更新しますか? – Arkde

+0

タイトルは、古いバージョンを保存するべきであることを示唆しています。問題は更新する必要があることを示唆しています。じゃ、何が欲しいの? – WarrenFaith

答えて

0

我々はバージョン

public class MyscreenDatabaseHelper extends SQLiteOpenHelper { 




    private static final String DATABASE_NAME="myscreenDB"; 
    private static final int DATABASE_VERSION=33; 



    private static final String MyScreen_CREATE="create table MyScreentb(_id integer primary key autoincrement,userid real," + 
      "password real,email real,address real,phoneno real,rectype integer)"; 


    public MyscreenDatabaseHelper(Context context) { 
     super(context, DATABASE_NAME, null, DATABASE_VERSION); 

    } 
    @Override 
    public void onCreate(SQLiteDatabase db) { 
System.out.println("table created...."); 
      try{ 
     db.execSQL(MyScreen_CREATE); 
      }catch (Exception e) { 
      // TODO: handle exception 
     } 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     // TODO Auto-generated method stub 
     Log.w(MyscreenDatabaseHelper.class.getName(),"Upgrading database from"+oldVersion+"to"+newVersion+",which will Distroy all old data"); 
    db.execSQL("DROP TABLE IF EXISTS todo"); 
    onCreate(db); 
    } 



} 
+0

これは古いテーブルを削除してアップグレードを行い、前のデータはデータベースに保存されません。 – nantha

2

をアップグレードすることができ、データベースの作成やバージョン管理を管理するためにSQLiteOpenHelper

にヘルパークラスをご覧ください。 onCreate(SQLiteDatabase)、 onUpgrade(SQLiteDatabase、int、int)、および場合によっては onOpen(SQLiteDatabase)を実装するサブクラスを作成し、このクラスは データベースが存在する場合はオープンし、存在しない場合は作成し、 として更新する必要があります。トランザクションは、データベースが常に であることを確認するために使用されます。

関連する問題