【发布时间】:2011-02-22 15:31:55
【问题描述】:
是否可以获取存储在 res/raw 资源目录中的 csv 文件并使用它来填充 sqlite3 数据库中的表?
我的想法是,如果有一种方法可以将整个文件批量导入到表中,那么这将比遍历文件中的每一行并执行单独的插入语句更干净、更快捷......
我发现有一个 sqlite 导入命令允许这样做:How to import load a .sql or .csv file into 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);
这可能吗?
我应该尝试不同的方法来填充我的数据库吗?
更新:我将 Josef 的回复标记为答案(使用事务进行批量插入),因为它可以正常工作并根据我的标题直接回答我的问题(感谢 Josef)。但是,我仍在寻找一种方法,使用 import 语句在 Android 应用程序中从 csv 文件批量插入到 sqlite3 表中。如果您知道该怎么做,请回复。
感谢您的回答!
【问题讨论】:
标签: database android import sqlite