当前位置:首页 > 数据库 > SQlite

将CSV文件导入Android Apps Sqlite数据库

我有一个从Sqlite浏览器导出的csv文件,其中包含一个表,并且已将其放在sdcard中.我希望我可以以编程方式导入到我的android apps数据库中,我尝试了很多
但未能得到任何帮助将不胜感激.我在android中创建了相同的tabe,但是我不想通过从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程序中运行的同一查询时,
看到我在做错误和错误的建议将不胜感激

解决方法:

没有内置的CSV导入功能供您使用:您将需要逐行读取CSV文件并将其插入.有许多CSV解析程序(我个人使用OpenCSV),它们可以很好地读取磁盘上的CSV文件并提取行.如果您在编写有效的插入函数时遇到问题,请提出问题并包含您的代码.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!