у меня проблемы с использованием SQlite для Swift с COUNT и WHERE.
Мой код:
let stmtString = "SELECT COUNT(*) FROM Items WHERE codestring LIKE '%\(code)%'"
let stmt = try self.connection?.prepare("\(stmtString)")
if let stmt = stmt {
for row in stmt {
print(row)
}
}
результат содержит 1 значение (как и должно быть), но это 0.
И SELECT COUNT(*) FROM Items", и "SELECT * FROM Items WHERE codestring LIKE '%\(code)%'" работают как надо, но я не хочу вычислять их в своем коде в надежде на лучшую производительность. Что я делаю неправильно?





Итак, элемент, существующий в таблице, не подтверждает написанное вами правило:
codestring LIKE '%\(code)%' проверяйте внимательнее
Простой "SELECT * FROM Items должен работать.
Вы должны использовать scalar вместо prepare для агрегатных функций см. документ
let stmt = try self.connection?.scalar("\(stmtString)")
@ Джинсо, есть какие-нибудь отзывы по этому поводу?