如何在iPhone上动态创建sqlite3数据库?

时间:2010-09-21 10:01:45

标签: iphone objective-c sqlite dynamic

我想知道是否可以通过编程创建数据库文件? 实际上,如果数据库不存在,我需要创建一个数据库。

3 个答案:

答案 0 :(得分:1)

我假设您有自己的正当理由直接使用sqlite3而不是Core Data。肯定有适当的情况。

如果数据库尚不存在,sqlite_3_open()函数将创建数据库。如果您在sqlite3_open_v2()参数中传递SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATEflags函数将创建数据库。有关详细信息,请参阅the documentation

当然,在iPhone上,您需要确保在读写目录(例如应用程序的Documents目录)中创建数据库,而不是只读资源目录。

在实践中,我从未试图在iPhone上从头开始构建数据库。我总是发现只包含一个预先构建为应用程序资源的模式的空DB文件,然后在第一次运行应用程序时将文件复制到Documents目录。

答案 1 :(得分:0)

您确定需要直接创建数据库文件吗?也许你应该查看Core Data Framework

答案 2 :(得分:0)

感谢您的回答,我从未使用过核心数据,因此我将对此进行研究。

目前我还将一个DB文件从Resource目录复制到Documents,但我想创建一个可供许多人使用的静态库。所以我会给出最少的文件添加到他们的项目中。这就是原因。