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

时间:2009-06-19 19:39:56

标签: iphone cocoa-touch sqlite

我发现大多数sqlite示例都是先从命令行创建db文件,然后再将其添加到应用程序中。对于我的项目,我希望能够在第一次启动时在应用程序中创建我的数据库,然后将其保存到用户沙箱中的db文件中。有没有办法做到这一点?

3 个答案:

答案 0 :(得分:13)

您可以在应用程序启动时检查文件(照常)。如果文件不存在,则只需:

,而不是复制预先创建的文件
  1. 使用sqlite3_open()
  2. 照常打开文件
  3. 运行您的创建命令(即创建表格,视图等)
  4. 这就是它的全部内容。

答案 1 :(得分:2)

我想我会回应不断扩大的呐喊,如果您正在寻找使用数据库做任何事情,那么您应该看看CoreData。它使用下面的SQLLite并且设置起来更简单,并且当你发现在DB中需要一些新东西时,很多更容易迁移!

答案 2 :(得分:2)

核心数据提供了一种简单的方法来管理它 - 它会在启动时查找数据库文件,如果不存在,它将为您创建一个。它还将根据您可以在xCode中创建的图表自动为您创建模型。

将来升级使用旧数据库的人员时,也会简化数据迁移。

您也可以使用生成的Data对象访问数据。核心数据也将对其创建的对象使用延迟加载,这比必须手动

要好得多

有关详细信息,请参阅位置演示项目,并阅读文档中的核心数据。