sql >> Databáze >  >> RDS >> SQLite

execSQL:je bindargs lepší?

Metoda 1 je lepší.

Zachrání vás například před injekcí SQL.
Protože zpracovává datové typy za vás.

To znamená, že v případě potřeby převádí řetězce přidáním oddělovačů řetězců a převodem apostrofů.

T.j.:

Pro správnou funkci byste měli napsat metodu 2 jako

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

Takže...

is the 1st example more secure? Ano.
faster when executing? Nejste si jisti, zda ano.
easier to read Ano, jakmile si na to zvyknete (především založené na názorech).
... or is it the same? Ne, kvůli tomu, co bylo diskutováno výše.




  1. Verzování databáze SQL Server

  2. Převést „datetime“ na „čas“ v SQL Server (příklady T-SQL)

  3. Redundance Oracle RAC N+1

  4. Použijte textový výstup z funkce jako nový dotaz