2011-01-15 14 views
2

Ich muss nur einige der Tabellen in meiner Hauptdatenbank sichern. Die anderen Tabellen sind Referenz und sind statisch, müssen also nicht gesichert werden.Dynamische Datenbanksicherung für bestimmte Tabellen

Ich habe eine neue leere DB erstellt, die auf der SDCARD ist. Kann ich direkt auf der SDCARD auf die Datenbank zugreifen oder muss ich sie kopieren, wenn das Backup fertig ist?

Die eigentliche Frage ist, kann ich durchlaufen die Felder in jedem Datensatz in einer Schleife oder etwas, so dass ich nicht Hunderte von Codezeile haben müssen, eine für jedes Feld.

In VB .NET würde ich tun, so etwas wie

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

etc ... Wie Wunde ich tun, dass in Android?

Antwort

1

Ich schrieb eine Klasse, um damit umzugehen. Ja meine DB ist mindestens 95% Referenz ...

Hier werden die Eingeweide des Codes ist:

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

Wenn Ihre Referenztabellen 95% Ihrer Datenbankgröße nicht ausmachen, würde ich einfach die Datenbankdatei mit Standard-Java-Datei-E/A kopieren, während die Datenbank geschlossen ist. Das wird wesentlich schneller sein, als zu versuchen, die Daten über Zellen nacheinander zu verschleppen.

Verwandte Themen