我正在尝试将来自用户输入的数据插入到已设置的SQLite数据库中。这是我当前编写的代码:
var stmt: OpaquePointer?
let queryString = "INSERT INTO entries (id, name, email, avatar) VALUES (NULL,?,?,?)"
if(sqlite3_prepare_v2(db, queryString, -1, &stmt, nil) == SQLITE_OK){
sqlite3_bind_text(stmt, 1, strName, -1, nil)
sqlite3_bind_text(stmt, 2, strEmail, -1, nil)
sqlite3_bind_text(stmt, 3, "batman", -1, nil)
}
else{
let errMsg = String(cString: sqlite3_errmsg(db)!)
print("error preparing insert: \(errMsg)")
return
}
Run Code Online (Sandbox Code Playgroud)
从文本字段中提取了strName和strEmail。当我在另一个视图中查询此数据时,由于某种原因“蝙蝠侠”已插入第二列而不是用户输入。这是选择查询:
let queryString = "SELECT * FROM entries"
var stmt: OpaquePointer?
if sqlite3_prepare_v2(db, queryString, -1, &stmt, nil) != SQLITE_OK{
let errmsg = String(cString: sqlite3_errmsg(db)!)
print("error preparing select: \(errmsg)")
return …Run Code Online (Sandbox Code Playgroud)