2013-03-23 4 views
7

संकलित करते समय वाक्यविन्यास त्रुटि (कोड 1) संकलन करते समय मुझे यह त्रुटि है और मुझे नहीं पता कि कोई मेरी मदद क्यों कर सकता है?SQLiteException: "" के पास:

सार्वजनिक स्थैतिक अंतिम स्ट्रिंग TABLE_BEERS = "cervezas";

// Contacts Table Columns names 
public static final String KEY_NAME = "_id"; 
public static final String KEY_COMPANY = "company"; 
public static final String KEY_TYPE = "type"; 
public static final String KEY_ALCOHOL = "alcohol"; 


public DatabaseHandler(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    // TODO Auto-generated constructor stub 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 

    String query = String.format("CREATE TABLE %s (%s STRING PRIMARY KEY,%s TEXT, %s TEXT, %s TEXT);", 
      TABLE_BEERS, KEY_NAME, KEY_COMPANY, 
      KEY_TYPE, KEY_ALCOHOL); 

    /* 
    String CREATE_BEER_TABLE = "create table " + TABLE_BEERS + "(" 
      + KEY_NAME + " STRING PRIMARY KEY," 
      + KEY_COMPANY + " TEXT," 
      + KEY_TYPE + " TEXT," 
      + KEY_ALCOHOL + " TEXT)";*/ 
    db.execSQL(query); 

इस तालिका में

public List<Cervezas> getCompanyCervezas(String compania){ 

      List<Cervezas> cervezasList = new ArrayList<Cervezas>(); 
      // Select All Query 
      String selectQuery = "SELECT _id, type, alcohol FROM " + TABLE_BEERS + " WHERE company=" + compania; 

      SQLiteDatabase db = this.getReadableDatabase(); 
      Cursor cursor = db.rawQuery(selectQuery, null); 

LogCat

android.database.sqlite.SQLiteException: no such column : Alean (code 1): , while compiling: SELECT _id, type, alcohol FROM cervezas WHERE company=Alean 

क्या हो रहा है बनाने के लिए है?

+1

'स्ट्रिंग' पैरामीटर उद्धरणों से घिरा होना चाहिए। '" चुनें _id, टाइप करें, "+ टैबलेटबीर्स +" से अल्कोहल जहां कंपनी = '"+ कंपानिया +"' ';' –

उत्तर

8

कोड के नीचे की कोशिश: -

String selectQuery = "SELECT _id, type, alcohol FROM " + TABLE_BEERS + " WHERE company= ' " + compania+" ' "; 

आप एकल उद्धरण याद आती है ..

+0

यह काम करता है !! धन्यवाद – user2202906

+0

@ user2202906 बहुत अच्छा !!!!!! – duggu

+2

देर से टिप्पणी, लेकिन मेरे पास सवाल यह है कि क्यों SQLite यह पता लगाने में असमर्थ है कि एक ही उद्धरण गुम है और वास्तव में त्रुटि संदेश में डाल दिया है? ऐसा लगता है कि रोशनी कम हो गई है, इसके बाद हमें जो त्रुटि संदेश बनाया गया है। इतने सारे लोग एक ही बग बनाते हैं, और फिर यह त्रुटि संदेश के निर्माता के लिए समय होना चाहिए ताकि वह डूब जाए और नया सोच सके, नहीं? – carl

1

पाठ स्तंभ मान एकल उद्धरण में से गुजरना होगा।

String selectQuery = "SELECT _id, type, alcohol FROM " + TABLE_BEERS + " WHERE company= '" + compania +"'"; 
संबंधित मुद्दे