在我的Xcode项目中,我使用SQLite保存用户订单列表
有没有像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
}
答案 0 :(得分:0)
如果您使用的是纯SQLite,则必须使用SQL请求从数据库中获取任何信息。在您的情况下,请求将是这样的:
"SELECT COUNT(*) FROM \(tableName)"
但是为什么不使用CoreData?它不仅拥有许多使您的数据访问变得更容易的必要方法,而且还提供了大量用于提高速度和内存的优化代码(在我看来,这是最重要的)。
答案 1 :(得分:0)
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)")
}
}
上面的代码将为您提供表的行数。