iPhone如何在运行时创建SQLite数据库?

11

我发现大多数关于SQLite的例子都是先在命令行中创建一个数据库文件,然后将其添加到应用程序中。但是在我的项目中,我希望能够在应用程序首次启动时从内部创建数据库,然后将其保存到用户沙盒中的数据库文件中。是否有这样做的方法?

3个回答

13

当应用程序启动时,您可以像往常一样检查文件。如果该文件不存在,而非复制预先创建的文件,只需:

  1. 使用sqlite3_open()正常打开文件
  2. 运行创建命令(即创建表、视图等)

就这么简单。


1
哦,为什么我不试试那个呢?我以为它会更复杂。;) - Cruinh

2

我认为我会附和这个越来越流行的呼声,如果你想做任何与数据库相关的事情,你应该看看CoreData。它在底层使用SQLLite,设置更简单,并且当你发现需要一些新的东西在数据库中时,迁移起来要简单得多!


2

Core Data提供了一种简单的方式来管理数据 - 它会在启动时查找数据库文件,如果没有则会为您创建一个。它还可以根据您在xCode中创建的图表自动为您创建模型。

当您将来升级使用旧数据库的人时,它还将简化数据迁移。

您也可以使用生成的Data对象访问数据。Core Data还会为其创建的对象使用惰性加载,这比手动加载要好得多。

有关更多信息,请参见“Locations演示项目”并阅读文档中的Core Data部分。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接