2016-04-22 87 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) 
}