Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将csv导入android上的sqlite并列出信息_Android_Sqlite_Csv - Fatal编程技术网

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

如何将csv导入android上的sqlite并列出信息,android,sqlite,csv,Android,Sqlite,Csv,如何将csv导入android上的sqlite并列出信息。我是安道尔的新手,一个完整的例子对我理解它是如何工作的很好,db hepler是我的问题,我不知道如何先设置它,找到这样的代码 InputStream is = getAssets().open("textv.csv"); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));

如何将csv导入android上的sqlite并列出信息。我是安道尔的新手,一个完整的例子对我理解它是如何工作的很好,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();

因此,请帮助

您在使用该代码段时是否遇到任何问题?您最好使用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();

请注意,我没有添加任何错误处理代码。

我可以让它全部运行这只是我找到的代码的一部分,但我想了解如何执行的整个概念