2012-02-18 13 views
10

मैं एंड्रॉइड के लिए एसक्लाइट में कच्चे माल में घुसपैठ कैसे कर सकता हूं। यहां यह जी और एस को क्वेरी में नहीं ले रहा है। कृपया गाइड करें।एंड्रॉइड एसक्यूएलएट कच्चे माल पैरामीटर

int g, s; 

    Cursor cur3 = database2.rawQuery("select max(UnixTimeStamp) from Quote where EmoticonID=%d and SubCategoryID=%d" ,new String [] {g,s}); 

उत्तर

34

सभी पैरामीटर स्थानों के साथ नामित किया जाना चाहिए? क्वेरी के पैरामीटर हमेशा स्ट्रिंग हैं, इसलिए पूर्णांक के बारे में कुछ खास नहीं है। यह आप के लिए काम करना चाहिए:

अपने प्रश्न में
Cursor cur3 = database2.rawQuery("select max(UnixTimeStamp) from Quote where EmoticonID=? and SubCategoryID=?" ,new String [] {String.valueOf(g),String.valueOf(s)}); 
-5
Cursor cur3 = database2.rawQuery("select max(UnixTimeStamp) from Quote where EmoticonID=" 
           + g + " and SubCategoryID = " + s + " "); 
+3

कई स्तरों पर टूटे, लेकिन एक समाधान क्या ओपी पूछा गैर जिम्मेदार है की तुलना में काफी बदतर की वकालत। कृपया एसक्यूएल इंजेक्शन पर पढ़ें। –

-3

पैरामीटर होने के लिए स्ट्रिंग तो स्ट्रिंग में इन मानकों को बदलने और इस प्रकार आपकी क्वेरी लिखें जरूरत है।

उपयोग String.valueOf();

Cursor c = db.rawQuery(SELECT max(UnixTimeStamp) 
         FROM Quote 
         WHERE EmoticonID ='"+d+"' AND SubCategoryID ='"+ s +"'"); 

धन्यवाद

+2

यह एसक्यूएल इंजेक्शन के लिए अनुमति देता है। – Buttink

संबंधित मुद्दे