我有一個從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