Sqlite FMDB Swift SQL获取表中的行数

Sqlite FMDB Swift SQL获取表中的行数,sqlite,swift,fmdb,Sqlite,Swift,Fmdb,FMDB似乎有很多函数来处理列,但没有一个函数用于处理行。我所要做的就是查找表中的行数 func getTableRows() { sharedInstance.database!.open() let sqlStatement = "SELECT COUNT(*) FROM NAMESTABLE" var resultSet: FMResultSet! = sharedInstance.database!.executeQuery(sqlStatement, withA

FMDB似乎有很多函数来处理列,但没有一个函数用于处理行。我所要做的就是查找表中的行数

func getTableRows() {
    sharedInstance.database!.open()
    let sqlStatement = "SELECT COUNT(*) FROM NAMESTABLE"
    var resultSet: FMResultSet! = sharedInstance.database!.executeQuery(sqlStatement, withArgumentsInArray: nil)
    if (resultSet != nil) {
        let rowCount = XXXX
        NSLog("Table Rows = %i",rowCount)
    }
    sharedInstance.database!.close()
}
我尝试过各种各样的方法和XXXX,但并没有乐趣。我走错方向了吗?非常感谢。

试试这个:

func getTableRows() {
    sharedInstance.database!.open()
    let sqlStatement = "SELECT COUNT(field) FROM table_name"
    var resultSet: FMResultSet! = sharedInstance.database!.executeQuery(sqlStatement, withArgumentsInArray: nil)
    if (resultSet != nil) {
        let rowCount = XXXX
        NSLog("Table Rows = %i",rowCount)
    }
    sharedInstance.database!.close()
}
试试这个:

func getTableRows() {
    sharedInstance.database!.open()
    let sqlStatement = "SELECT COUNT(field) FROM table_name"
    var resultSet: FMResultSet! = sharedInstance.database!.executeQuery(sqlStatement, withArgumentsInArray: nil)
    if (resultSet != nil) {
        let rowCount = XXXX
        NSLog("Table Rows = %i",rowCount)
    }
    sharedInstance.database!.close()
}

当然,它们会返回相同的数字,但指定列更有效。我仍然不知道如何提取数字,但没有乐趣。我尝试过:让rowCount=resultSet.intForColumnIndex(0)让rowCount=resultSet.intForColumnIndex(0)是我最初使用的,但它总是返回0。这样做了,但我不明白为什么需要将其封装在while循环中:while resultSet.next(){rowCount=resultSet.intForColumnIndex(0)NSLog(“Table Rows=%d”,rowCount)}无需将其放置一段时间,if语句将执行以下操作:if resultSet.next(){let rowCount=resultSet.intForColumnIndex(0)NSLog(“Table Rows=%d”,rowCount)}他们肯定会返回相同的数字,但指定列更有效。我仍然不知道如何提取数字,但没有乐趣。我尝试过:让rowCount=resultSet.intForColumnIndex(0)让rowCount=resultSet.intForColumnIndex(0)是我最初使用的,但它总是返回0。这样做了,但我不明白为什么需要将其封装在while循环中:while resultSet.next(){rowCount=resultSet.intForColumnIndex(0)NSLog(“表行=%d”,rowCount)}无需将其放在一段时间内,if语句将执行此任务:if resultSet.next(){let rowCount=resultSet.intForColumnIndex(0)NSLog(“表行=%d”,rowCount)}它们肯定会返回相同的数字,但指定列更有效。我仍然不知道如何提取数字,但没有乐趣。我尝试过:let rowCount=resultSet.intForColumnIndex(0)let rowCount=resultSet.intForColumnIndex(0)是我最初使用的,但它总是返回0。这样做了,但我不明白为什么需要将其封装在while循环中:while resultSet.next(){rowCount=resultSet.intForColumnIndex(0)NSLog(“表行=%d”,rowCount)}无需将其放在一段时间内,if语句将执行此任务:if resultSet.next(){let rowCount=resultSet.intForColumnIndex(0)NSLog(“表行=%d”,rowCount)}