在我的应用程序中,我需要将 csv 文件中的数据导入 sqlite 数据库。
为了使用 sqlite,我使用 FMDB 库,因为它易于使用:)
请帮助我,如何将数据从csv文件导入表?
我创建了一个表,对应于 csv 文件中的一个表,所以应该很容易导入。
我查看了互联网上的解决方案,并找到了 sqlite 的终端命令,例如
".mode csv"
".separator ';'"
".import mycsvfile.csv mytablename"
但是当我尝试在 FMDB 中执行这个 sql 语句时,它失败了..
我的源代码:
[db beginTransaction];
NSString *query1 = @".mode csv";
NSString *query2 = @".separator ';'";
NSString *query3 = @".import mycsvfile.csv mytablename";
BOOL result = [db executeUpdate:query];
result = [db executeQuery:query2];
result = [db executeQuery:query3];
[db commit];
此处经过 BOOL result = [db executeUpdate:query]; 结果等于FALSE,表示它是错误的..
打开登录 FMDB 后,它在我的查询中显示“语法不正确”。
但是为什么这个语句在 OS X 的 sqlite 中有效呢?
注意:当我尝试在 OS X 终端中执行此命令时,在 sqlite3 中,一切正常。