samedi 5 septembre 2015

sqlite.SQLiteException: no such column: _id (code 1): , while compiling: SELECT _id, brand, lastused, model FROM rifle WHERE _id = -1

I am trying to create a new item in database but getting that error

android.database.sqlite.SQLiteException: no such column: _id (code 1): , while compiling: SELECT _id, brand, lastused, model FROM rifle WHERE _id = -1

So here is part of my Databasehelper

public static final String TABLE_RIFLE = "rifle";
public static final String COLUMN_RIFLE_ID = "_id";
public static final String COLUMN_RIFLE_BRAND = "brand";
public static final String COLUMN_RIFLE_LASTUSED = "lastused";
public static final String COLUMN_RIFLE_USAGE = "usage";
public static final String COLUMN_RIFLE_MODEL = "model";

...

private static final String CREATE_TABLE_RIFLE =
     "create table " + TABLE_RIFLE
     + " (" +COLUMN_RIFLE_ID+ " integer primary key autoincrement,"
     + COLUMN_RIFLE_BRAND + " string,"
     + COLUMN_RIFLE_LASTUSED +" integer not null,"
     + COLUMN_RIFLE_USAGE +" integer not null,"
     + COLUMN_RIFLE_MODEL +" string);";

...

public void onCreate(SQLiteDatabase db) {
    db.execSQL(CREATE_TABLE_RIFLE);}

...

 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_RIFLE);
    onCreate(db);}

And part of my method's class in wich error occur

 public Rifle createRifle(String Brand, int Lastused, int Usage, String Model) {
    ContentValues values = new ContentValues();
    values.put(DatabaseHelper.COLUMN_RIFLE_BRAND, Brand);
    values.put(DatabaseHelper.COLUMN_RIFLE_LASTUSED, Lastused);
    values.put(DatabaseHelper.COLUMN_RIFLE_USAGE, Usage);
    values.put(DatabaseHelper.COLUMN_RIFLE_MODEL, Model);
    long insertId = mDatabase.insert(DatabaseHelper.TABLE_RIFLE, null, values);
    Cursor cursor = mDatabase.query(DatabaseHelper.TABLE_RIFLE, mAllColums,DatabaseHelper.COLUMN_RIFLE_ID + " = " + insertId, null, null, null, null);

    Rifle newRifle = cursorToRifle(cursor);
    cursor.close();
    return newRifle;
}

is there an error in my Helper or im my method?

Aucun commentaire:

Enregistrer un commentaire