如何获得与Sqlite.swift列名称的列表?

为了进行debugging,我试图在我的SQLite表中获得列名的简单列表。 我正在使用SQLite.swift框架 。

我的问题是比如何得到sqlite3 / iPhone上的列名称更具体? 所以我正在创造一个新的问题。

运用

try db.execute("PRAGMA table_info(table_name);") 

通过应用这个答案的文件没有为我工作(什么都没有发生)。

假设你已经有一个名为db set up的数据库连接,为了得到列名的列表,你可以使用下面的代码:

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

其中table_name被replace为表名的文字string。

你也可以添加

 print(tableInfo) 

查看关于您的表格的更多附注信息。

积分

感谢这个答案的线索如何做到这一点。

示例函数

从乔·布洛testing例程,以节省一些打字:

 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) }