sql >> Database >  >> RDS >> SQLite

execSQL:is bindargs beter?

Methode 1 is beter.

Het bespaart u bijvoorbeeld SQL-injectie.
Omdat het de datatypes voor u afhandelt.

Dit betekent dat het de tekenreeksen indien nodig converteert door de tekenreeksscheidingstekens toe te voegen en de apostrofs om te zetten.

D.w.z.:

Om correct te werken, moet u methode 2 . schrijven leuk vinden

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

Dus...

is the 1st example more secure? Ja.
faster when executing? Weet niet zeker of dat zo is.
easier to read Ja, als je er eenmaal aan gewend bent (voornamelijk gebaseerd op meningen).
... or is it the same? Nee, voor wat hierboven is besproken.




  1. ORA-01882:tijdzone regio niet gevonden

  2. Oracle:SQL-query om alle triggers te vinden die bij de tabellen horen?

  3. SQL Server-index opnieuw opbouwen en reorganiseren

  4. 5 manieren om rijen met kleine letters te retourneren in SQL Server