SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

execSQL:बाइंडर्ग बेहतर है?

विधि 1 बेहतर है।

उदाहरण के लिए, यह आपको SQL इंजेक्शन से बचाता है।
क्योंकि यह आपके लिए डेटाटाइप को संभालता है।

इसका मतलब है कि यह स्ट्रिंग डिलीमीटर जोड़कर और एपोस्ट्रोफ को परिवर्तित करके जब आवश्यक हो तो स्ट्रिंग्स को परिवर्तित कर देता है।

यानी:

सही ढंग से काम करने के लिए, आपको 2 method विधि लिखनी चाहिए पसंद है

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

तो...

is the 1st example more secure? हाँ।
faster when executing? सुनिश्चित नहीं है कि यह है।
easier to read हां, एक बार जब आपको इसकी आदत हो जाती है (मुख्य रूप से राय आधारित)।
... or is it the same? नहीं, ऊपर चर्चा की गई बातों के लिए।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कर्सर के साथ फ़ील्ड मान प्राप्त करें

  2. एंड्रॉइड में लिस्ट व्यू में क्वेरी हटाएं और रीफ्रेश करें (एसक्लाइट)

  3. SQLite IN

  4. SQLite JSON_GROUP_ARRAY ()

  5. GreenDAO तालिकाओं के बीच कई संबंधों का समर्थन करता है