SQLiteException: near "" :syntax error (code 1) while compiling

27,736

Solution 1

try below code:-

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

you miss single quotes ..

Solution 2

Text column values must pass in single quotes. Try following

String selectQuery = "SELECT _id, type, alcohol FROM " + TABLE_BEERS + " WHERE company= '" + compania +"'";
Share:
27,736
Admin
Author by

Admin

Updated on July 12, 2022

Comments

  • Admin
    Admin almost 2 years

    I have this error while compiling and I don´t know why, can anyone help me?

    public static final String 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);
    

    This is for create the table

    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
    

    What is happening?

  • carl
    carl almost 8 years
    Late comment, but the question I have is why SQLite is so unable to detect that a single quote is missing and put THAT fact into the error message? The error message we get seems to have been created after the lights have gone down real low. So many people make the same bug, and then it should be time for the creator of the error message to let it sink in and think anew, not?