我已成功导出我的android应用程序数据库的csv文件。现在我想做的是通过浏览选项选择我可以导入该csv文件并将其替换为现有的数据库表(如恢复)。 我在sqlite数据库名称成员中有一个表。
Id == Name == Phone number
1 == Abhi == 11111111
2 == Ram == 111111223
3 == Alex == 891273932
我想将csv文件恢复到Android应用程序中的手机数据库。
由于
答案 0 :(得分:0)
首先,您必须设置分隔符字符串,然后您可以将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
...
答案 1 :(得分:0)
试试这个:
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();