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

Каква е целта на функцията String[] whereArgs в int delete (String table, String whereClause, String[] whereArgs)?

Както се казва в документацията, той се използва за ? маркери във вашия низ на заявката. Например, можете да използвате това:

SQLiteDatabase.delete("users", "user_name = ?", new String[] {"Talib"});

Използването на маркери за параметри е много важно за избягване на SQL инжектиране. Например,

SQLiteDatabase.delete("users", "user_name = ?", new String[] {"' OR '' = '"});

няма да изтрие всички редове от таблицата ви, но ако сте го направили наивно

SQLiteDatabase.delete("users", "user_name = '" + userName + "'");

и userName беше зададен на "' OR '' = '" , това наистина би ударило цялата ви маса.



  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 в приложението за Android

  2. Android:Как да импортирам контакт от телефона?

  3. SQLiteAssetHelper:Не можа да се отвори база данни за писане (ще се опита само за четене)

  4. Конвертирайте SQLite в JSON

  5. listview показва данните от базата данни в android