相关疑难解决方法(0)

从CSV文件填充Android数据库?

是否可以将存储在res/raw资源目录中的csv文件用于填充sqlite3数据库中的表?

我的想法是,如果有一种方法可以将整个文件批量导入到表中,那么比迭代文件中的每一行并执行单独的插入语句更简洁,更快......

我发现有一个sqlite import命令允许这样:如何导入将.sql或.csv文件加载到SQLite中?

...但我在Android应用程序中应用这些语句时遇到了问题.我的第一个想法是尝试类似下面的东西......但没有运气:

db.execSQL("CREATE TABLE " + TABLE_NAME + "(id INTEGER PRIMARY KEY, name TEXT)");
db.execSQL(".mode csv");
db.execSQL(".import res/raw/MyFile.csv " + TABLE_NAME); 
Run Code Online (Sandbox Code Playgroud)

这可能吗?

我应该尝试不同的方法来填充我的数据库吗?

更新:我将Josef的回复标记为答案(使用交易批量插入),因为它工作正常并根据我的标题直接回答我的问题(感谢Josef).但是,我仍在寻找一种方法,使用import语句在csv文件中将Android应用程序批量插入到sqlite3表中.如果你知道怎么做,请回复.

谢谢你的回答!

database sqlite import android

29
推荐指数
2
解决办法
4万
查看次数

Android:批量插入,不推荐使用InsertHelper时

有很多答案和教程使用InsertHelper在SQLiteDatabase中快速批量插入.
但是从API 17开始,不推荐使用InsertHelper.

什么是在Android SQLite中批量插入大量数据的最快方法?

到目前为止,我最关心的是SQLiteStatement使用起来不太舒服,其中InsertHelper具有绑定列和绑定值,这有点微不足道.

sqlite android bulkinsert android-contentprovider android-sqlite

18
推荐指数
1
解决办法
9436
查看次数

在Android中的Sqlite数据库中批量插入或更新记录

在我的应用程序中,我必须在SQLite数据库android中插入或更新Bulk of record,记录大小可能为3000或更大,

    String query="SELECT * FROM tableName where "+id+" = "+bean.id()+" and "+other_id+" = "+bean.otherID();
        Cursor mCount= db.rawQuery(query , null);
            mCount.moveToFirst();
            row=mCount.getCount();
            mCount.close();
            /**
             * Insert here
             */
            if(row==0){
                ContentValues values = new ContentValues();
                values.put(key, "value");
                values.put(key, "value");
                db.insert("tableName", null, values);
            }
            /**
             * Updated here
             */
            else{
                ContentValues values = new ContentValues();
                values.put(key, "value");
                values.put(key, "value");
                db.update("tableName", values, "id"+" = ? and "+"other_id"+" = ? ", new String[] {bena.id(),bean.otherid});
            }
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常,但需要花费很多时间,如何减少这段时间,或批量插入或更新记录.

android-sqlite

5
推荐指数
0
解决办法
1万
查看次数