SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

executeSQL:bindargs có tốt hơn không?

Phương pháp 1 tốt hơn.

Chẳng hạn, nó giúp bạn tiết kiệm khỏi SQL injection.
Vì nó xử lý các kiểu dữ liệu cho bạn.

Có nghĩa là nó chuyển đổi các chuỗi khi cần thiết bằng cách thêm các dấu phân cách chuỗi và chuyển đổi các dấu nháy đơn.

Tức là:

Để hoạt động chính xác, bạn nên viết phương pháp 2 thích

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

Vì vậy ...

is the 1st example more secure? Có.
faster when executing? Không chắc có phải không.
easier to read Có, khi bạn đã quen với nó (chủ yếu dựa trên quan điểm).
... or is it the same? Không, vì những gì đã thảo luận ở trên.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Liên kết các bảng bằng cơ sở dữ liệu Phòng trong Android Studio

  2. Làm thế nào để đặt ngẫu nhiên văn bản thành các nút từ SQLite mà không lặp lại?

  3. Làm thế nào ON CONFLICT hoạt động trong SQLite

  4. Cách sử dụng lớp databasehelper trong lớp asynctask làm việc trên một lớp khác

  5. Room API - Làm cách nào để truy xuất id được tạo gần đây của đối tượng?