[英]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.