2017-10-04 76 views
1

我正在学习FMDB,有很多种方法'executeQuery'和'executeUpdate'。Swift FMDB:我必须使用哪种方法?

executeQuery(sql,values:[Any]) 
executeQuery(sql,withArgumentsIn: [Any]) 
executeUpdate(sql,values:[Any]) 
executeUpdate(sql,withArgumentsIn: [Any]) 

我想知道这些方法的差异,当我必须使用哪种方法。

我可以使用任何方法吗?

我感谢你的答案。 谢谢

回答

1

的executeQuery(SQL,值:[任意]):

这种方法有返回类型FMResultSet。它会给出通过查询选择的所有记录。我们可以使用这种方法执行SELECT声明。

的executeUpdate:

这种方法有返回类型布尔。我们可以使用此方法执行INSERT,UPDATE,DELETE语句。

例如

let sql = "insert into User(UserName,Address,Postcode) values(:username,:address,:postcode)" 
let args = [“username”:”Tom”,” address”:”Newyork”,” postcode”:”123467”] 
executeUpdate(sql,values:args) 
0

的executeUpdate(...)被用于所有可 修改数据库中的查询

的executeUpdate(...)方法(换言之,非Select查询)

database.executeUpdate("insert into test (x, y, z) values (?, ?, ?)", values: ["a", "b", "c"]) 

的executeQuery(...)

SELECT语句是一个查询和通过的 -executeQuery ...的方法之一被执行。

database.executeQuery("select x, y, z from test", values: nil) 

FMDB

+0

是在有任何的executeUpdate差(SQL,值:[任意])和 的executeUpdate(SQL,withArgumentsIn:[任意])? 我可以使用任何东西吗? – JKU

+0

您可以通过跳转到定义来查看'FMDatabase.h'类中的定义,它是关于抛出'Error' – Jack

相关问题