我需要备份主数据库中的一些表。其他表是引用并且是静态的,因此不需要备份。
我在SDCARD上创建了一个新的空白数据库。我可以直接在SDCARD上访问数据库,还是在完成备份后需要复制它?
真正的问题是我可以遍历循环中的每个记录中的字段或其他东西,所以我不必拥有数百行代码,每个字段一个。
在VB .NET中我会做类似
的事情For X = 0 to RS.Fields.Count
NewRS.Fields(x).value = Rs.Fields(x).value
等等......我在android中做了多少创伤?
答案 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复制数据库文件,同时关闭数据库。这比试图在一次一个单元格上建立数据要快得多。