swift - How get table total count in Sqlite3 in swift4?
问题描述
I am new in IOS and Sqlite3 DB.
What I want to achieve in sqlite3 DB and swift4 to get the total number count of table.
I Did the following steps.
func getTotalCount()->Int32{
let queryStatementString = "SELECT COUNT(*) FROM Attendance"
var stmt: OpaquePointer?
print("select valid count \(queryStatementString) ")
var totalCount: Int32 = 0
var id: Int = 0
if sqlite3_prepare_v2(db, queryStatementString, -1, &stmt, nil) == SQLITE_OK{
if sqlite3_step(stmt) == SQLITE_ROW {
id = Int(sqlite3_column_int(stmt, 0))
print("id \(id)")
totalCount = sqlite3_column_count(stmt!)
print("db: validCount Result:")
print("validCount \(totalCount)")
}
}
if sqlite3_step(stmt) != SQLITE_DONE {
let errmsg = String(cString: sqlite3_errmsg(stmt)!)
print("db: failure getting punchTime: \(errmsg)")
}
return totalCount
}
But is always return me 1 as a count. I didn't get where I am missing.
解决方案
我得到一个答案。
我正在检索错误的索引值。
参考下面的代码。
func getTotalCount()->Int32{
let queryStatementString = "SELECT COUNT(*) FROM Attendance"
var stmt: OpaquePointer?
var totalCount: Int32 = 0
if sqlite3_prepare_v2(db, queryStatementString, -1, &stmt, nil) == SQLITE_OK{
while sqlite3_step(stmt) == SQLITE_ROW {
totalCount = sqlite3_column_int(stmt, 0)
print("totalCount \(totalCount)")
}
}
if sqlite3_step(stmt) != SQLITE_DONE {
let errmsg = String(cString: sqlite3_errmsg(stmt)!)
print("db: failure getting punchTime: \(errmsg)")
}
return totalCount
}
推荐阅读
- python - 如何从命令提示符使用一个命令导入多个库?
- powerbi - PowerBI_calculate ID 在两个时间点之间重叠
- solr - 使 Solr 字段(名称)不区分大小写
- angular - 使用 @ngx-formly JsonSchema 和字段组。这可能吗?
- python - 在 IoT Edge 中使用 OPCUA 订阅导出数据
- c++ - 在 C++ 中使用不同的参数初始化“堆栈”变量有什么用?
- vb.net - 使表单透明而不丢失边框透明度 [VB.NET]
- android - 未聚焦时如何扩展 EditText?
- python - 是否可以使用 python 做一个受限的 VAR-X 模型?
- wordpress - 如何在 wordpress+woocommerce 的某个类别中获取产品某些属性的选项列表?