2012-11-01 17 views
6

अरे सब मैं एक नौसिखिया एंड्रॉइडियन हूं, और इसके साथ कुछ मदद पसंद करेंगे?एंड्रॉइड :: SQLite, ऐसा कोई स्तंभ नहीं मिला?

android.database.sqlite.SQLiteException: ऐसी कोई स्तंभ: asd: है, जबकि संकलन:

इस: लेबल कहां नाम = asd

इस त्रुटि बजे ओर है, और यहाँ से हटाएँ कोड है DBhelper में विधि है:

/** 
* Delete a label table 
* */ 
public void deleteLabel(String label) { 
    SQLiteDatabase db = this.getWritableDatabase(); 

    // ContentValues values = new ContentValues(); 
    // values.remove(label); 

    // Deleting Row 
    db.delete(TABLE_LABELS, KEY_NAME + "=" + label, null); 
    db.close(); // Closing database connection 
} 

और यहां मुख्य गतिविधि कोड है कि विधि आह्वान है:

// for spinner onItemListener 
// and here is what label is 

final String label = parent.getItemAtPosition(position).toString(); 

Button dialogDeletelButton = (Button) dialog 
       .findViewById(R.id.deleteButton); 
     dialogDeletelButton.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // database handler 
       DatabaseHandler db = new DatabaseHandler(
         getApplicationContext()); 

       // inserting new label into database 
       db.deleteLabel(label); 

       // Hiding the keyboard 
       InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
       imm.hideSoftInputFromWindow(inputLabel.getWindowToken(), 0); 

       // loading spinner without the deleted data 
       loadSpinnerData(); 

      } 
     }); 

उत्तर

13

आपको लगभग 'asd' (यानी, label अपने कोड में परिवर्तनीय) को उद्धृत करने की आवश्यकता है। यदि यह उद्धृत किया गया है, तो यह name कॉलम के विरुद्ध तुलना करने के लिए एक स्ट्रिंग है।

यदि यह अनजान है, तो SQL सिर्फ इसे अन्य कॉलम नाम के रूप में मानता है।

आप के साथ अपनी गतिविधि में ऐसा कर सकता है:

db.deleteLabel ("'" + label + "'"); 

लेकिन यह सहायक समारोह को बदलने के लिए क्लीनर हो सकता है:

db.delete (TABLE_LABELS, KEY_NAME + "='" + label + "'", null); 

के बाद से यह लगता है कि आप के साथ कुछ करने के लिए चाहते हो सकता है की तरह वहां कुछ बिंदु पर unquoted लेबल (ContentValues सामान जो वर्तमान में टिप्पणी की गई है)।

+1

आपको बहुत धन्यवाद, अब यह काम कर रहा है। – Tayseer

+0

क्या आप इसे देख सकते हैं यदि आप कर सकते हैं: http://stackoverflow.com/questions/13178056/android-get-data-from-another-activity – Tayseer

+0

"टाइम हत्यारा है – playmaker420

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