SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

execSQL:apakah bindargs lebih baik?

Metode 1 lebih baik.

Ini menyelamatkan Anda dari injeksi SQL, misalnya.
Karena menangani tipe data untuk Anda.

Artinya, ia mengubah string saat dibutuhkan dengan menambahkan pembatas string dan mengonversi apostrof.

yaitu:

Untuk bekerja dengan benar, Anda harus menulis metode 2 seperti

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

Jadi...

is the 1st example more secure? Ya.
faster when executing? Tidak yakin apakah itu.
easier to read Ya, setelah Anda terbiasa (terutama berdasarkan opini).
... or is it the same? Tidak, untuk apa yang dibahas di atas.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android:onUpgrade tidak menelepon saat pemutakhiran basis data

  2. Bagaimana cara membuat tabel dengan dua atau lebih kunci asing menggunakan Android Room?

  3. Mengapa saya mendapatkan java.lang.IllegalArgumentException:nilai pengikatan pada indeks 1 adalah nol dalam kasus ini?

  4. SELECT DISTINCT Tidak berfungsi Android SQLite

  5. Konversikan SQLite ke JSON