2016-04-22 86 views

回答

6

假設你已經有一個名爲db成立,得到列名的列表的數據庫連接時,可以使用下面的代碼:

do { 

    let tableInfo = Array(try db.prepare("PRAGMA table_info(table_name)")) 
    for line in tableInfo { 
     print(line[1]!, terminator: " ") 
    } 
    print() 

} catch _ { } 

其中table_name被替換爲您表的的文字串名稱。

您還可以添加

print(tableInfo) 

看到餐桌更多信息附註。

現金

感謝this answer對於如何做到這一點的線索。

示例功能

Joe Blow

測試例程來節省一點打字:

func findColumns(_ tableName:String) { 

    var asAnArray:[String] = [] 
    do { 
     let s = try db!.prepare("PRAGMA table_info(" + tableName + ")") 
     for row in s { asAnArray.append(row[1]! as! String) } 
    } 
    catch { print("some woe in findColumns for \(tableName) \(error)") } 

    let asAString = asAnArray.joined(separator: ",") 

    print(asAnArray) 
    print(asAString) 
}