SQLite
 sql >> Base de données >  >> RDS >> SQLite

execSQL :est-ce que bindargs est meilleur ?

Méthode 1 est mieux.

Il vous évite l'injection SQL, par exemple.
Parce qu'il gère les types de données pour vous.

Cela signifie qu'il convertit les chaînes si nécessaire en ajoutant les délimiteurs de chaîne et en convertissant les apostrophes.

C'est-à-dire :

Pour fonctionner correctement, vous devez écrire la méthode 2 j'aime

db.execSQL("INSERT INTO " + TableName + " VALUES (null, '" +  type.getName().replace("'", "''") + "')");

Alors...

is the 1st example more secure? Oui.
faster when executing? Je ne sais pas si c'est le cas.
easier to read Oui, une fois que vous vous y êtes habitué (principalement basé sur l'opinion).
... or is it the same? Non, pour ce qui a été discuté ci-dessus.