Sqlite FMDB Swift SQL获取表中的行数
FMDB似乎有很多函数来处理列,但没有一个函数用于处理行。我所要做的就是查找表中的行数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
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)}