简体   繁体   English

如何在android中的SQLite数据中导入CSV文件?

[英]how to import CSV file in SQLite data in android?

public class MainActivity extends Activity {
    Context context;
    SQLiteDatabase db;
    public static final String CONTACTS_TABLE_NAME = "contacts";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        db.execSQL(
            "create table contacts " +
            "(id integer primary key, name text,dt1 text,dt2 text, dt3 text,)"
        );

        String mCSVfile = "contacts.csv";
        Log.e("shashank ", "" + mCSVfile);
        AssetManager manager = context.getAssets();
        InputStream inStream = null;
        try {
            inStream = manager.open(mCSVfile);
            Log.e("shashank inStream ", "" + inStream);
        } catch (IOException e) {
            e.printStackTrace();
        }

        BufferedReader br = new BufferedReader(new InputStreamReader(inStream));
        Log.e("shashank br ", "" + br);
        String line = "";
        String tableName = "contacts";
        String columns = "id, name, phone, email, discipline,place";
        String str1 = "INSERT INTO " + tableName + " (" + columns + ") values(";
        String str2 = ");";
        Log.e("shashank ", "" + str1);
        Log.e("shashank ", "" + str2);

        db.beginTransaction();
        try {
            while ((line = br.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();
        } catch (IOException e) {
        }
    }
}

Beginner in android.安卓初学者。 I want to import CSV file and upload in SQLIte database .please can u suggest me.how should I create a database in this class.我想导入 CSV 文件并上传到 SQLIte 数据库中。请您建议我。我应该如何在此类中创建数据库。

get this link in this post how to create db.this SQLiteDatabase db;????在这篇文章中获取此链接如何创建 db.this SQLiteDatabase db;????

There is an extra comma in your create table contacts statement.在您的create table contacts语句中有一个额外的逗号。

And your column names are not matching with the column names in INSERT INTO query.并且您的列名与INSERT INTO查询中的列名不匹配。

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

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