【问题标题】:Add an SQLite database to an iPhone app将 SQLite 数据库添加到 iPhone 应用程序
【发布时间】:2009-01-28 11:40:38
【问题描述】:

我正在尝试学习 SQLite,并且正在构建一个 iPhone 应用程序。但我想在我的构建应用程序中添加一个 SQLite 数据库。我有三个教程,但我不清楚那个代码。

如何将 SQLite 数据库添加到我的构建应用程序中?示例代码是什么样的?

【问题讨论】:

  • 如果确实对您有所帮助,您为什么不接受答案?

标签: iphone cocoa-touch sqlite


【解决方案1】:

首先您需要创建数据库。
从命令行创建您的 db 文件。

sqlite3 mydb.db

然后在你的数据库中创建表

CREATE TABLE tags (id int(5), name varchar(255), created_at datetime, updated_at datetime);

对您想要在数据库中的任何表重复此操作。

然后你需要在你的项目中包含数据库文件。像添加任何其他现有文件一样,将现有数据库文件添加到您的项目中。

接下来,您必须在框架中链接才能与数据库进行交互。这可以在您当前的 iPhone SDK 文件夹下找到。

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.sdk/usr/lib/libsqlite3.0.dylib

最后你必须包含头文件 sqlite3.h 来自

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.sdk/usr/include/sqlite3.h

现在应该可以编写代码来从您的 iPhone 应用程序中访问您的 sqlite 数据库了。

【讨论】:

  • 请注意,虽然在台式机上创建数据库,然后将其复制到 iPhone 应用程序中可能是一种权宜之计,但这不是必需的。您可以在 iPhone 应用程序中创建数据库、初始化架构和初始化数据。
【解决方案2】:

网络上有很多信息。

您看过演示应用程序吗? SQLite Book List 这里展示了SQLite下常用数据库函数的例子。这有效地使用了标准 SQLite C API。

Objective C 包装器可能更适合您。 EntropyDBSQLitePersistenceObjectsFMDB

我找到了这个Tutorial 和这个resources 的列表,这可能会有所帮助。

最近我一直在使用an ORM SQLite.net 这是适合我的方式,但后来我正在使用 MonoTouch C# 进行开发。

托尼

【讨论】:

    【解决方案3】:

    我还建议您查看FMDB。它使 SQLite 的使用更加类似于 Objective-C/Cocoa。它不是一个完整的 ORM 包装器或任何东西;它只是将 C API 包装成更美味的东西。

    【讨论】:

      【解决方案4】:

      http://sqlite.org/docs.html 是一个很好的起点。

      如果您更具体地了解您正在尝试做的事情以及遇到的障碍,您可能会获得更多有用的帮助。

      【讨论】:

        【解决方案5】:

        如果您使用 Firefox,则可以使用 handy addon 来管理和创建 SQLite 数据库。

        【讨论】:

          【解决方案6】:

          您必须在框架中进行链接才能与数据库进行交互。这可以在您当前的 iPhone SDK 文件夹下找到。

          /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.sdk/usr/lib/libsqlite3.0.dylib
          

          【讨论】:

            【解决方案7】:

            CoreData 应该有帮助,但我在可导入框架列表中的任何地方都找不到它。

            您可以查看 iPhone 示例,尤其是 SQLite Book List 示例。

            【讨论】:

            • CoreData 在 iPhone 上不可用。
            • CoreData 在 SDK 3.00 测试版中可用。
            猜你喜欢
            • 2021-10-25
            • 1970-01-01
            • 2011-09-17
            • 2011-09-16
            • 1970-01-01
            • 2017-09-29
            • 2011-10-05
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多