Iphone 将数据从.csv文件导入IOS中的sqlite数据库。FMDB

Iphone 将数据从.csv文件导入IOS中的sqlite数据库。FMDB,iphone,sqlite,fmdb,Iphone,Sqlite,Fmdb,在我的应用程序中,我需要将数据从csv文件导入sqlite数据库 对于使用sqlite,我使用FMDB库,因为它很容易使用:) 请帮帮我, 如何将数据从csv文件导入表 我已经创建了一个表,对应于csv文件中的一个表,所以应该很容易导入 我查看了internet上的解决方案,发现了sqlite的终端命令,例如 ".mode csv" ".separator ';'" ".import mycsvfile.csv mytablename" 但当我尝试在FMDB中执行此sql语句时,它失败了 我的

在我的应用程序中,我需要将数据从csv文件导入sqlite数据库

对于使用sqlite,我使用FMDB库,因为它很容易使用:)

请帮帮我, 如何将数据从csv文件导入表

我已经创建了一个表,对应于csv文件中的一个表,所以应该很容易导入

我查看了internet上的解决方案,发现了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中的日志后,它在我的查询中显示“不正确的语法”

但为什么这些语句在OSX的sqlite中有效呢


注意:当我试图在OS X终端的sqlite3中执行此命令时,所有命令都正常工作。

您使用的.import命令不是SQLite本身的一部分,而是SQLite CLI(命令行界面)shell的一部分。此工具的文档为。您可以从SQLite.org下载CLI工具的源代码(我想文件是shell.c),作为SQLite发行版的一部分


如果您想将iOS应用程序中的CSV数据导入SQLite,您需要自己手动解析CSV文件,并将数据插入SQLite数据库的表中。

您能显示您的.CSV文件结构吗..您好!我通过逐行手动读取csv文件并使用该数据执行sqlite insert语句解决了这个问题。如果有人仍然对解决方案感兴趣,现在有一个开源库可以将csv导入sqlite-