我有一个从Sqlite浏览器导出的csv文件,其中包含一个表格,并且我将它放在了sdcard中。我希望我可以通过编程导入到我的android应用程序数据库我试了很多 ,但未能取得任何帮助,将不胜感激。我有相同的Tabe在Android中创建,但我不想通过从csv文件逐行读取内容并执行每次查询插入...因此主要点是导入是直接将CSV文件导入到Android应用程序Sqlite数据库
嘿我已经通过这代码
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的程序运行相同的查询 看到我在作出和错误,并进一步的建议,将不胜感激
请发表您的logcat的异常 – Simon 2012-04-24 07:41:05
@simon我得到任何异常,但没有进入 – 2012-04-24 09:49:04
好吧我已经发现问题,我使用的线路不合理mainDatabase.beginT ransaction();删除线提出了我的问题,谢谢他们的贡献 – 2012-04-24 10:20:38