2017-10-04 6 views
1

J'étudie maintenant FMDB, et il existe plusieurs types de méthodes 'executeQuery' et 'executeUpdate'.Swift FMDB: Quelle méthode dois-je utiliser?

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

Je veux savoir une différence de ces méthodes et quand je dois utiliser la méthode. Puis-je utiliser n'importe quelle méthode?

J'apprécie toutes vos réponses. merci

Répondre

1

executeQuery (sql, valeurs: [Tout]):

Cette méthode a type de retour fmresultset. Il donnera tous les enregistrements sélectionnés par requête. Nous pouvons exécuter l'instruction SELECT en utilisant cette méthode.

executeUpdate:

Cette méthode a le type de retour Bool. Nous pouvons exécuter les instructions INSERT, UPDATE, DELETE en utilisant cette méthode.

procédé

par exemple

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 (...) est utilisé pour toutes les requêtes qui peuvent modifier la base de données (en d'autres termes, , requêtes non sélectives)

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

executeQuery (...) Déclaration

A SELECT est une requête et est exécutée par l'un des -executeQuery ... méthodes.

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

FMDB

+0

est-il une différence dans executeUpdate (SQL, les valeurs: [Pas]) et executeUpdate (SQL, withArgumentsIn: [Tout]): ?? puis-je utiliser quoi que ce soit? – JKU

+0

Vous pouvez voir la définition dans la classe 'FMDatabase.h' en sautant à la définition, il s'agit de lancer' Error' – Jack