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

execSQL:er bindargs bedre?

Metode 1 er bedre.

Det sparer dig for eksempel fra SQL-injektion.
Fordi det håndterer datatyperne for dig.

Det betyder, at den konverterer strengene, når det er nødvendigt ved at tilføje strengeafgrænsningerne og konvertere apostroferne.

Dvs.:

For at fungere korrekt skal du skrive metode 2 synes godt om

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

Så...

is the 1st example more secure? Ja.
faster when executing? Ved ikke om det er det.
easier to read Ja, når du først har vænnet dig til det (primært meningsbaseret).
... or is it the same? Nej, for det, der er diskuteret ovenfor.




  1. Gennemsnit af datoer i oracle sql

  2. [OPDATERET 2020-01-23] Microsoft Office 365 Build 1912 bryder ODBC-linkede tabellers identitet

  3. Erstat første forekomst af understreng i en streng i SQL

  4. Oracle rækkeantal af tabel efter antal(*) vs. NUM_ROWS fra DBA_TABLES