某些表的动态数据库备份

时间:2011-01-15 00:03:57

标签: android sqlite backup

我需要备份主数据库中的一些表。其他表是引用并且是静态的,因此不需要备份。

我在SDCARD上创建了一个新的空白数据库。我可以直接在SDCARD上访问数据库,还是在完成备份后需要复制它?

真正的问题是我可以遍历循环中的每个记录中的字段或其他东西,所以我不必拥有数百行代码,每个字段一个。

在VB .NET中我会做类似

的事情
For X = 0 to RS.Fields.Count
 NewRS.Fields(x).value = Rs.Fields(x).value
等等......我在android中做了多少创伤?

2 个答案:

答案 0 :(得分: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());

答案 1 :(得分:0)

除非您的参考表占数据库大小的95%,否则我只需使用标准Java文件I / O复制数据库文件,同时关闭数据库。这比试图在一次一个单元格上建立数据要快得多。