我已经成功导出了我的android应用程序数据库的csv文件。现在我想做的是通过选择浏览选项,我可以导入csv文件并用现有的数据库表替换它(如还原)。我在sqlite数据库名称成员中有一个表。
Id == Name == Phone number
1 == Abhi == 11111111
2 == Ram == 111111223
3 == Alex == 891273932
我想在android应用程序中将csv文件恢复到我的手机数据库中。
感谢
首先必须设置分隔符字符串,然后才能将csv文件导入到所需的表中。
这里假设分隔符为逗号(,)
.separator ","
.import your_csv_file.csv your_table_name
如果你使用.help
,你可能会注意到一些有趣的东西:
sqlite> .help
...
.help Show this message
.import FILE TABLE Import data from FILE into TABLE
...
.separator STRING Change separator used by output mode and .import
...
试试这个:
FileReader file = new FileReader(fileName);
BufferedReader buffer = new BufferedReader(file);
String line = "";
String tableName ="TABLE_NAME";
String columns = "_id, name, phonenumber";
String str1 = "INSERT INTO " + tableName + " (" + columns + ") values(";
String str2 = ");";
db.beginTransaction();
while ((line = buffer.readLine()) != null) {
StringBuilder sb = new StringBuilder(str1);
String[] str = line.split(",");
sb.append("'" + str[0] + "',");
sb.append(str[1] + "',");
sb.append(str[2] + "',");
sb.append(str[3] + "'");
sb.append(str[4] + "'");
sb.append(str2);
db.execSQL(sb.toString());
}
db.setTransactionSuccessful();
db.endTransaction();
取自:将.csv文件导入Android 中的Sqlite