我有一个从Sqlite浏览器导出的csv文件,其中包含一张表格,我已将其放置在sdcard中。我希望能够以编程方式将其导入到我的Android应用程序数据库中。我尝试了很多次,但未能成功实现,需要帮助。我在Android中创建了相同的表格,但我不想通过逐行读取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());
}
我已将文件存放在SD卡中,正在获取查询StringBuilder,但出现错误或异常,表格中没有任何输入。但是,在调试相同查询时,我在Sqlite程序中运行了它,它可以正常工作。 看来我犯了一个错误,进一步的建议将不胜感激。