SQLite
 sql >> Database >  >> RDS >> SQLite

execSQL:è meglio bindargs?

Metodo 1 è meglio.

Ad esempio, ti salva dall'iniezione di SQL.
Perché gestisce i tipi di dati per te.

Ciò significa che converte le stringhe quando necessario aggiungendo i delimitatori di stringa e convertendo gli apostrofi.

Cioè:

Per funzionare correttamente, dovresti scrivere il metodo 2 come

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

Allora...

is the 1st example more secure? Sì.
faster when executing? Non sono sicuro che lo sia.
easier to read Sì, una volta che ti sarai abituato (principalmente basato sull'opinione).
... or is it the same? No, per quanto discusso sopra.