Joep82
Joep82

Reputation: 21

Android Studio - Error Code:1 (SQLITE_ERROR) Caused By: SQL(query) error missing database

Have the following error message:

Operation failed: table medicine has no column nameed amount(code1):, while compiling: INSERT INTO medicine(name,amount,type,info,registration_no)VALUES(?,?,?,?,?)

Config file:

public class Config {
    public static final String COLUMN_MEDICINE_ID = "_id";
    public static final String COLUMN_MEDICINE_NAME = "name";
    public static final String COLUMN_MEDICINE_PRODUCT = "registration_no";
    public static final String COLUMN_MEDICINE_INFO = "info";
    public static final String COLUMN_MEDICINE_TYPE = "type";
    public static final String COLUMN_MEDICINE_AMOUNT = "amount";
}

Helper File:

@Override
public void onCreate(SQLiteDatabase db) {


    String CREATE_MEDICINE_TABLE = "CREATE TABLE " + Config.TABLE_MEDICINE + "("
            + Config.COLUMN_MEDICINE_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
            + Config.COLUMN_MEDICINE_NAME + " TEXT NOT NULL, "
            + Config.COLUMN_MEDICINE_PRODUCT + " INTEGER NOT NULL UNIQUE, "
            + Config.COLUMN_MEDICINE_INFO + " TEXT, " //nullable
            + Config.COLUMN_MEDICINE_TYPE + " TEXT " //nullable
            + Config.COLUMN_MEDICINE_AMOUNT + " INTEGER UNIQUE, "
            + ")";

    Logger.d("Table create SQL: " + CREATE_MEDICINE_TABLE);
    db.execSQL(CREATE_MEDICINE_TABLE);
    Logger.d("DB created!");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    db.execSQL("DROP TABLE IF EXISTS " + Config.TABLE_MEDICINE);
    onCreate(db);
}

Upvotes: 0

Views: 78

Answers (1)

laalto
laalto

Reputation: 152827

You forgot a comma between type and amount columns in the create SQL. Additionally there's a stray comma after the amount column def:

+ Config.COLUMN_MEDICINE_TYPE + " TEXT " //nullable
+ Config.COLUMN_MEDICINE_AMOUNT + " INTEGER UNIQUE, "
+ ")";

After fixing the SQL there, you can uninstall your app once to retrigger onCreate().

Upvotes: 2

Related Questions