2011-01-15 3 views
2

私のメインデータベースの一部のテーブルのみをバックアップする必要があります。他のテーブルは参照であり、静的なので、バックアップする必要はありません。特定のテーブルの動的データベースバックアップ

私はSDCARD上にある新しい空のDBを作成しました。 SDCARD上で直接DBにアクセスすることはできますか?それとも、終了したバックアップをコピーする必要がありますか?

実際の質問は、ループや何かの各レコードのフィールドを繰り返すことができるので、各フィールドに1つずつ、何百行ものコード行を持つ必要はありません。

VB .NETで、私は私がアンドロイドにどのようにそれを行うの傷...

For X = 0 to RS.Fields.Count 
NewRS.Fields(x).value = Rs.Fields(x).value 

などのような何かをしますか?

答えて

1

これを処理するクラスを作成しました。はい、私のDBは、少なくとも95%基準である...ここで

は、コードの中身です:

Cursor c = DbBak.rawQuery(Sql, null); 
      String Cn[] = c.getColumnNames(); 

      if (c != null) { 
       if (c.moveToFirst()) { 
        do { 
         for (x=0; x< c.getColumnCount(); x++) 
         { 
          newRow.put(Cn[x].toString(), c.getString(x)); 
         } 

         Db.insert(TableName, null, newRow); 

        }while (c.moveToNext()); 
0

参照テーブルがデータベースサイズの95%を占めていない限り、データベースが閉じている間は、標準のJavaファイルI/Oを使用してデータベースファイルをコピーするだけです。これは、セル単位でデータを細分化しようとするよりも大幅に高速になります。