简体   繁体   English

如何将csv导入android上的sqlite并列出信息

[英]how to import csv into sqlite on android and list the information

how to import csv into sqlite on android and list the information. 如何将csv导入android上的sqlite并列出信息。 I'm new to andorid and a full example will be great for me to understand how it works, db hepler is my problem i don't know how to set it first a found code like this 我是andorid的新手,一个完整的示例对于我了解它的工作原理非常有用,db hepler是我的问题,我不知道如何首先将其设置为找到的这样的代码

                InputStream is = getAssets().open("textv.csv"); 
                BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));

                String line = "";
                String tableName ="TABLE_NAME";
                String columns = "_id, name, dt1, dt2, dt3";
                String str1 = "INSERT INTO " + tableName + " (" + columns + ") values(";
                String str2 = ");";

                db.beginTransaction();
                while ((line = buffer.readLine()) != null) {
                    StringBuilder sb = new StringBuilder(str1);
                    String[] str = line.split(",");
                    sb.append("'" + str[0] + "',");
                    sb.append(str[1] + "',");
                    sb.append(str[2] + "',");
                    sb.append(str[3] + "'");
                    sb.append(str[4] + "'");
                    sb.append(str2);
                    db.execSQL(sb.toString());
                }
                db.setTransactionSuccessful();
                db.endTransaction();

so please help 所以请帮忙

Are you facing any issues with that code snippet? 您是否遇到该代码段的任何问题? You would be better off to use ContentValues rather than StringBuilder. 您最好使用ContentValues而不是StringBuilder。

InputStream is = getAssets().open("textv.csv"); 
BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));

String line = "";
String tableName ="TABLE_NAME";
String columns = "_id, name, dt1, dt2, dt3";
ContentValues values = new ContentValues();
db.beginTransaction();
while ((line = buffer.readLine()) != null) 
{
    values.clear();
    String[] str = line.split(",");

    values.put ("_id", str[0]);
    values.put ("name", str[1]);
    values.put ("dt1", str[2]);
    values.put ("dt2", str[3]);
    values.put ("dt3", str[4]);

    db.insert (tableName, null, values);
}

db.setTransactionSuccessful();
db.endTransaction();

Please note, I haven't added any error handling code. 请注意,我尚未添加任何错误处理代码。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM