SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Do czego służy funkcja String[] whereArgs w int delete (tabela String, String whereClause, String[] whereArgs)?

Jak mówi dokumentacja, jest on używany do ? znaczniki w ciągu zapytania. Na przykład możesz użyć tego:

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

Użycie znaczników parametrów jest bardzo ważne, aby uniknąć wstrzykiwania SQL. Na przykład

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

nie usunie wszystkich wierszy tabeli, ale jeśli naiwnie to zrobiłeś

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

i userName została ustawiona na "' OR '' = '" , to rzeczywiście zniszczyłoby cały stół.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego otrzymuję wyjątek java.lang.IllegalArgumentException:wartość wiązania w indeksie 1 jest w tym przypadku null?

  2. Aktualizacja bazy danych i aplikacji Android SQLite

  3. Jak sformatować wyniki SQLite jako tabelę

  4. Jak obliczyć różnicę między dwoma znacznikami czasu w SQLite

  5. IllegalStateException:baza danych już zamknięta (przy użyciu ViewPager)