【发布时间】:2021-09-04 15:36:00
【问题描述】:
下面我将分享我用于执行 where IN 条件的现有代码,但现在我陷入了如何在请求中传递值的问题。
public func getName(list: [String], class: String) -> [String] {
let queryStatementString = "SELECT terms FROM termo WHERE terms IN =? AND class=?"
var queryStatement: OpaquePointer? = nil
var arr : [String] = []
if sqlite3_prepare_v2(db, queryStatementString, -1, &queryStatement, nil) == SQLITE_OK {
if sqlite3_bind_text(queryStatement, 1,terminalNameList, -1, SQLITE_TRANSIENT) != SQLITE_OK {
let errmsg = String(cString: sqlite3_errmsg(db)!)
print("failure binding foo: \(errmsg)")
}
while sqlite3_step(queryStatement) == SQLITE_ROW {
let ter = String(describing: String(cString: sqlite3_column_text(queryStatement, 0)))
arr.append(ter)
}
} else {
print("SELECT statement could not be prepared")
}
sqlite3_finalize(queryStatement)
return arr
}
以下是我需要执行的 SQL 查询
let queryStatementString = "SELECT terms FROM termo WHERE terms IN =? AND class=?"
我在这里尝试传递值
if sqlite3_bind_text(queryStatement, 1, list, -1, SQLITE_TRANSIENT) !=
SQLITE_OK {
let errmsg = String(cString: sqlite3_errmsg(db)!)
print("failure binding foo: \(errmsg)")
}
请大家帮帮我,在此先感谢
【问题讨论】:
-
这个问题是关于什么的?是关于如何使用 SQLite 本身进行查询吗? Objective-c 和 sqlite.swift 标签是干什么用的?
-
我在 swift 中使用 SQLite,我被困在 Where In 语句中,所以我正在寻找解决方案
标签: ios swift objective-c sqlite sqlite.swift