参数化 SQL 查询

数据库操作

// Connect to the database
// ... 

let sql = """
    SELECT
        Language, Percentage
    FROM countrylanguage
    WHERE
        CountryCode = ? AND
        Percentage > ?
"""

var pointer: OpaquePointer?
sqlite3_prepare_v2(db, sql, -1, &pointer, nil)
sqlite3_bind_text(pointer, 1, "RUS", -1, nil)
sqlite3_bind_double(pointer, 2, 0.5)

while sqlite3_step(pointer) == SQLITE_ROW {
    let text = sqlite3_column_text(pointer, 0)
    let lang = String(cString: text!)
    let percent = sqlite3_column_double(pointer, 1)
    print("\(lang): \(percent)")
}

sqlite3_finalize(pointer)