初学者FMDB iOS数据库,表创建

时间:2016-10-26 07:38:27

标签: ios database sqlite fmdb

您如何在iOS应用中创建数据库文件?我在Xcode(Swift)中使用FMDB,我在这里创建了执行查询的函数:

func query()
{
    let DB = FMDatabase(path: dbFilePath as String)
    if DB.open()
    {
        let querySQL = "SELECT * FROM SHOPS"
        let results:FMResultSet? = DB.executeQuery(querySQL, withArgumentsInArray: nil)
        print(querySQL)
        DB.close()
        print(results)
    }
    else
    {
        print("Error: \(DB.lastErrorMessage())")
    }
}

我的创建数据库功能需要帮助,如FMDB文档中所述:使用SQLite数据库文件的路径创建FMDatabase。这条路径可以是以下三种之一: 文件系统路径。该文件不必存在于磁盘上。如果它不存在,则会为您创建。但是,我在哪里可以获取数据库文件的文件路径?

我还有一个关于如何继续创建表函数的问题:

   func create()
    {
    let createString = "CREATE TABLE Shops(id INT PRIMARY KEY NOT NULL, name char(255);)"
    }

我是否使用executeUpdate?如果您不是太费时间,请提供简明明了的答案,因为我是初学者。提前谢谢。

1 个答案:

答案 0 :(得分:0)

Xcode 8.0 Swift 3.0版本

Appdelegate.swift 中复制以下代码

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
    {
        // Override point for customization after application launch.
        Util.copyFile("<yourDatabaseName>.sqlite") 
        getDocDir()
        return true
    }

func getDocDir() -> String
    {
        print(NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0])
        return NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
    }

然后运行Xcode:快捷键:build(Cmd + B) - &gt;运行(Cmd + R)

  

检查Xcode的控制台得到如下例子的路径:

示例图片:https://i.stack.imgur.com/xH0AV.png

复制路径:

/users//tooti/Library/Developer/CoreSimulator/Devices/..../data/Containers/Data/Application/.../Documents/

- &GT;打开Finder-&gt;去 - &gt;转到文件夹并粘贴从上面复制的路径

示例图片:https://i.stack.imgur.com/DmzH8.png

- &GT;然后单击Enter。它完成了。你会找到一个 .sqlite 文件

  • 您还可以使用SQLite manager / Firefox browser / DBManagerExtension工具打开数据库文件。