документация по SQLite.swift говорит о выполнении произвольного SQL:
let stmt = try db.prepare("SELECT id, email FROM users")
for row in stmt {
for (index, name) in stmt.columnNames.enumerate() {
print ("\(name)=\(row[index]!)")
// id: Optional(1), email: Optional("[email protected]")
}
}
Я хотел получить значения прямо так
let stmt = try db.prepare("SELECT id, email FROM users")
for row in stmt {
let myInt: Int64 = row[0] // error: Cannot convert value of type 'Binding?' to specified type 'Int64'
let myString: String = row[1] // error: Cannot convert value of type 'Binding?' to specified type 'String'
}
но индекс строки имеет тип Binding?
, и я не могу понять, как преобразовать его в нужный мне тип. Я вижу, что в исходном коде есть метод Statement.bind
a> но я до сих пор не понимаю, как его применять.
Expression
? (например,let myInt: Expression<Int64> = ...
) - person l'L'l   schedule 15.08.2016Binding?
вExpression<Int64>
). Я успешно использовалExpression
в прошлом, но теперь, когда я пытаюсь заставить работать произвольный SQL (из-за моей проблемы с этим), у меня были большие проблемы. - person Suragch   schedule 15.08.2016