SQLite
 sql >> Datenbank >  >> RDS >> SQLite

execSQL:Ist Bindargs besser?

Methode 1 ist besser.

Es erspart Ihnen zum Beispiel SQL-Injection.
Weil es die Datentypen für Sie handhabt.

Das bedeutet, dass es die Strings bei Bedarf konvertiert, indem es die String-Trennzeichen hinzufügt und die Apostrophe umwandelt.

D.h.:

Um richtig zu funktionieren, sollten Sie die Methode 2 schreiben wie

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

Also...

is the 1st example more secure? Ja.
faster when executing? Nicht sicher, ob es das ist.
easier to read Ja, sobald man sich daran gewöhnt hat (hauptsächlich meinungsbasiert).
... or is it the same? Nein, für das, was oben besprochen wurde.