SQLite
 sql >> база данни >  >> RDS >> SQLite

execSQL:bindargs по-добър ли е?

Метод1 е по-добре.

Спестява ви от SQL инжектиране, например.
Защото обработва типовете данни вместо вас.

Това означава, че преобразува низовете, когато е необходимо, като добавя разделители на низове и преобразува апострофите.

Т.е.:

За да работите правилно, трябва да напишете метод 2 харесвам

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

Така че...

is the 1st example more secure? Да.
faster when executing? Не съм сигурен дали е така.
easier to read Да, след като свикнеш (основно на мнение).
... or is it the same? Не, за това, което беше обсъдено по-горе.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Върнете края на месеца в SQLite

  2. UnsatisfiedLinkError в собствения метод

  3. Android със стая - Как да зададете нула на външен ключ

  4. SQLite JSON_REMOVE()

  5. 11 начина за намиране на дублиращи се редове, докато игнорирате първичния ключ в SQLite