Swift SQLite, как получить row.count из таблицы? - PullRequest
0 голосов
/ 26 ноября 2018

в моем проекте XCode я использую SQLite для сохранения списка заказов пользователей

Мой вопрос заключается в том, могут ли мои данные выглядеть следующим образом enter image description here

Есть ли способ, подобныйtable.count и я могу получить сколько это строк?

Вот мой метод вставки. Надеюсь, что это может быть так

, просто создайте модель и используйте непосредственно

func insert(_ tableName :String, rowInfo :[String:String]) -> Bool {
    var statement :OpaquePointer? = nil
    let sql = "insert into \(tableName) "
        + "(\(rowInfo.keys.joined(separator: ","))) "
        + "values (\(rowInfo.values.joined(separator: ",")))"

    if sqlite3_prepare_v2(self.db, sql.cString(using: String.Encoding.utf8), -1, &statement, nil) == SQLITE_OK {
        if sqlite3_step(statement) == SQLITE_DONE {
            return true
        }
        sqlite3_finalize(statement)
    }

    return false
} 

Ответы [ 2 ]

0 голосов
/ 31 января 2019
let query = "select count(*) from tableName;"
if sqlite3_prepare(self.db, query, -1, &queryStatement, nil) == SQLITE_OK{
      while(sqlite3_step(queryStatement) == SQLITE_ROW){
           let count = sqlite3_column_int(queryStatement, 0)
           print("\(count)")
      }

}

Приведенный выше код даст вам количество строк в таблице.

0 голосов
/ 26 ноября 2018

Если вы используете чистый SQLite, вы должны использовать запросы SQL для получения любой информации из вашей базы данных.В вашем случае запрос будет такой:

"SELECT COUNT(*) FROM \(tableName)"

Но почему вы не используете CoreData?У него есть не только много необходимых методов, чтобы облегчить доступ к вашим данным, но также и тонны кода оптимизации как для скорости, так и для использования памяти (что на мой взгляд гораздо важнее).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...