我想知道是否可以通过编程创建数据库文件? 实际上,如果数据库不存在,我需要创建一个数据库。
答案 0 :(得分:1)
我假设您有自己的正当理由直接使用sqlite3而不是Core Data。肯定有适当的情况。
如果数据库尚不存在,sqlite_3_open()
函数将创建数据库。如果您在sqlite3_open_v2()
参数中传递SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE
,flags
函数将创建数据库。有关详细信息,请参阅the documentation。
当然,在iPhone上,您需要确保在读写目录(例如应用程序的Documents目录)中创建数据库,而不是只读资源目录。
在实践中,我从未试图在iPhone上从头开始构建数据库。我总是发现只包含一个预先构建为应用程序资源的模式的空DB文件,然后在第一次运行应用程序时将文件复制到Documents目录。
答案 1 :(得分:0)
您确定需要直接创建数据库文件吗?也许你应该查看Core Data Framework。
答案 2 :(得分:0)
感谢您的回答,我从未使用过核心数据,因此我将对此进行研究。
目前我还将一个DB文件从Resource目录复制到Documents,但我想创建一个可供许多人使用的静态库。所以我会给出最少的文件添加到他们的项目中。这就是原因。