IOS Sqlite3和db中的数据库

use*_*519 -1 database sqlite iphone ios

我正在学习iOS数据库中的一些概念......我知道sqlite3(开源)用于数据库,但我正在浏览一些github代码......

并遇到这两行:

NSString *sqLiteDb = [[NSBundle mainBundle] pathForResource:@"banklist" 
        ofType:@"sqlite3"]
Run Code Online (Sandbox Code Playgroud)

 NSString *databaseFilename =@"abc.db"
Run Code Online (Sandbox Code Playgroud)
  1. 你能告诉我我们将在sqlite3何处使用db
  2. 你能为我提供一些很好的链接来学习iOS的数据库(从我db在textedit中打开文件时的示例项目我无法理解)?
  3. 我怎样才能打开db文件和sqlite文件?
  4. iOS中是否有可用的免费工具来读取这些数据库文件?

Rob*_*Rob 5

您询问:

你能告诉我我们将在sqlite3哪里和哪里使用db

您可以使用任一扩展名.没关系.两者sqlite(没有3)和db常用.

你能为我提供一些学习iOS数据库的好链接吗?

谷歌"ios sqlite教程"

我一般喜欢Ray Wenderlich教程,他的SQLite教程在这里:适用于iPhone开发者的SQLite 101:制作我们的应用程序.我对该教程的唯一批评是,我不喜欢他从捆绑包中打开数据库的事实.在打开Documents文件夹中的数据库之前,应始终先将数据库从bundle复制到Documents文件夹.

我怎样才能打开db文件和sqlite文件

您以相同的方式打开数据库(即,传统上使用其中一个dbsqlite扩展名的文件).它是同一种文件,只是一个不同的扩展名.一般过程是:

  • 在您的mac上创建数据库并将其包含在项目和结果包中.然后,以编程方式检查数据库是否已存在于Documents文件夹中,如果没有,则从bundle复制到Documents文件夹(如果这样做,您可能希望使用sqlite3_open_v2SQLITE_OPEN_READWRITE选项,但不是SQLITE_OPEN_CREATE选项,因此数据库如果没有找到,将不会被创建); 要么

  • 创建数据库编程方式(一)检查,看它是否存在于文件,如果没有,创建数据库(带有sqlite3_open_v2SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE选项或只sqlite3_open(使用默认的两个选项)),然后执行SQL CREATE语句; 或者(b)如果它已经存在于Documents文件夹中,只需使用它.

如果你浏览了你发现的各种教程,他们会引导你走近或接近或者接近.这两种技术都有效.

是否有任何免费工具在iOS中可用于读取这些数据库文件

我不认为有iOS工具(因为应用程序在他们各自的沙箱中保留他们的文件(和数据库只是一种文件类型),因此一个应用程序无法在另一个应用程序的Documents文件夹中打开数据库).但是在开发过程中使用了很多Mac工具.

  • 该命令sqlite3Terminal命令行界面中可用.

  • 我使用Base,一个不错的,相当基本的工具

  • 我想很多人都使用FireFox SQLite Manager工具


你没有问,但如果你正在开始SQLite开发,使用FMDB可以大大简化你的Objective-C代码.如果我没有注意到Core Data是iOS开发的首选数据库技术,那将是我的疏忽.使用SQLite(例如通过FMDB)可能有令人信服的理由,但Apple设计了丰富的Core Data框架,这对于仅支持iOS的应用程序具有一些优势.它有点复杂,但有一些优点.