Swift ios,sqlite,错误21库使用不当

时间:2015-01-01 17:17:01

标签: ios sqlite swift

我是swift语言的初学者(对于IOS),我将在我的程序中使用sqlite。 我将libsqlit3.dylib添加到我的项目中并使用了bridging-header。 (包装器从https://github.com/chrismsimpson/SwiftSQLite下载) 我运行了以下代码:

    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文件不存在,并期望它会被创建。

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

2 个答案:

答案 0 :(得分:0)

似乎问题是因为" test.db"剂量存在。 现在的问题是如何创建" test.db"文件。为什么swift dosnt在文件不存在时创建数据库文件?

答案 1 :(得分:0)

我故意将此部分简单化了,因为很可能人们希望在数据库文件本身的CRUD操作方面拥有自己的逻辑。

但是,为了完整起见,我已经添加了一些样板代码来处理这一切。请阅读github页面上的README,但是如果你按照描述执行所有操作,现在调用SQLiteDatabase.sharedInstance将自动创建一个新数据库(如果已经存在的话)。您可以按如下方式使用:

var statement = SQLiteStatement(database: SQLiteDatabase.sharedInstance)