我有一个从 Sqlite 浏览器导出的 csv 文件,其中包含一个表,我已将其放在 sdcard 中。我希望我可以以编程方式导入我的 android 应用程序数据库我尝试了很多但未能获得任何帮助将不胜感激。我在android中有相同的tabe creatd,但我不想通过从csv文件中逐行读取内容并执行每次查询插入......所以重点是直接导入
嘿,我已经浏览了这段代码
public static void InsertCSVFile(String FilePath, String filename,
String TableName) {
try {
FileReader fr = new FileReader(new File("mnt/sdcard/",
"olinecsv.csv"));
BufferedReader br = new BufferedReader(fr);
String data = "";
String tableName = "Test";
String columns = "ID,NAME,TYPE";
String InsertString1 = "INSERT INTO " + tableName + " (" + columns
+ ") values(";
String InsertString2 = ");";
mainDatabase.beginTransaction();
while ((data = br.readLine()) != null) {
StringBuilder sb = new StringBuilder(InsertString1);
String[] sarray = data.split(",");
sb.append(sarray[0] + ",");
sb.append( sarray[1] + ",");
sb.append(sarray[2]);
sb.append(InsertString2);
if(sarray[0].contains("ID"))
continue;
mainDatabase.rawQuery(sb.toString(), null);
//mainDatabase.execSQL(sb.toString());
}
我已将该文件放在 sdcard 中,并且我正在获取查询 StringBuilder,但出现错误或异常时,表中没有输入任何内容,但是,在调试我在 Sqlite 程序中运行的相同查询时,它可以正常工作,看到我正在犯错误和进一步建议将不胜感激