Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift ios、sqlite、错误21库使用不正确_Ios_Sqlite_Swift - Fatal编程技术网

Swift ios、sqlite、错误21库使用不正确

Swift ios、sqlite、错误21库使用不正确,ios,sqlite,swift,Ios,Sqlite,Swift,我是swift语言(IOS)的初学者,我将在我的程序中使用sqlite。 我将libsqlit3.dylib添加到我的项目中,并使用了桥接头。(包装器从以下位置下载:) 我已运行以下代码: var db = SQLiteDatabase(); db.open("test.db"); var statement = SQLiteStatement(database: db); var sql = "CREATE TABLE IF NOT EXISTS CONTACT

我是swift语言(IOS)的初学者,我将在我的程序中使用sqlite。 我将libsqlit3.dylib添加到我的项目中,并使用了桥接头。(包装器从以下位置下载:) 我已运行以下代码:

    var db = SQLiteDatabase();
    db.open("test.db");
    var statement = SQLiteStatement(database: db);
    var sql = "CREATE TABLE IF NOT EXISTS CONTACTS (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, ADDRESS TEXT, PHONE TEXT)"

    println("result :  \(statement.prepare(sql))");
结果代码为21,表示“库使用不正确”。 test.db文件不存在,希望将其创建


我不知道是什么问题!请帮助我。

问题似乎是因为存在“test.db”剂量。
现在的问题是如何创建“test.db”文件。为什么swift在数据库文件不存在的情况下不创建数据库文件?

我有意将这一部分简化,因为人们可能希望在数据库文件本身的CRUD操作方面有自己的逻辑

但是,为了完整性起见,我添加了一些样板代码来为您处理这一切。请阅读github页面上的自述文件,但只需说一句,如果您按照所述操作,现在调用
SQLiteDatabase.sharedInstance
将自动创建一个新数据库(如果还不存在)。您可以按如下方式使用它:

var statement = SQLiteStatement(database: SQLiteDatabase.sharedInstance)

您是否尝试过创建test.db文件?此外,您不能只在
db.open()
中输入文件名,您需要使用应用程序的documents-path。了解如何获取sqlite3\u errmsg。谢谢您,Emil,问题在于文件路径。我在应用程序的文档路径中定义了它,问题已经解决。如果指定了有效路径,则将在文件不存在时创建该文件。谢谢,问题是路径无效。