我想获得以下查询的任何答案(知道我的查询是成功还是失败):
let rs = try self.database.executeQuery
("insert into Practice(old, number) values (?, ?)",
values: [old, number])
但只有我能得到这个
<FMResultSet: 0x60000289ab20>
在我尝试迭代集合时,切勿进入循环while
while rs.next(){
print("never")
}
这在我的代码中是错误的,为什么我得到一个干净的集合
答案 0 :(得分:0)
您要在执行更新数据库的查询时使用executeUpdate
,例如INSERT
,UPDATE
或DELETE
SQL语句:
let sql = "INSERT INTO practice(old, number) VALUES (?, ?)"
try database.executeUpdate(sql, values: [old, number])
不用说,您知道INSERT
是否成功的方式就是是否抛出错误。
但是executeQuery
仅在SQL返回行(例如SELECT
语句)时使用。
在UPDATE
和DELETE
的情况下,仅当更新期间发生错误时,才会引发错误。但是(特别是如果您有WHERE
子句),您可能还需要检查database.changes
来查看受影响的行数。