mardi 7 avril 2015

Can't insert integer type to DB

I'm having trouble using integers in DB. I have a SQLiteOpenHelper here I create


DBAdapter:



public static final String KEY_ROWID="id";
public static final String KEY_EXR="name";
public static final String KEY_WGHT="weight";
public static final String KEY_REP="repetition";
public static final String KEY_DATE="duedate";
final static String[] columns = {KEY_ROWID, KEY_EXR, KEY_WGHT, KEY_REP};



final static String DATABASE_NAME = "ExerciseDB";
final static String DATABASE_TABLE = "exercisetb";
final static int DATABASE_VERSION = 2;


//DBAdapter için Loglar

private static final String TAG = "DBAdapter";



private static final String DATABASE_CREATE =
"create table if not exists exercisetb (id integer primary key autoincrement, "
+ "name VARCHAR not null, weight VARCHAR not null, repetition integer not null);";


Inserting:



public long insertRecord() {


ContentValues values = new ContentValues();

values.put(DBAdapter.KEY_EXR, name.toString());

values.put(DBAdapter.KEY_WGHT, weight.toString();

values.put(DBAdapter.KEY_REP, Integer.parseInt(repetition.toString()));
values.clear();

return mDbHelper.getWritableDatabase().insert(DBAdapter.DATABASE_NAME, null, values);

}


The problem occurs on last variable. We can put KEY_EXR; KEY_WGHT but not KEY_REP. If I change KEY_REP column to VARCHAR only then I can add data to that line. I 'm probably making mistake during table create.


Thanks.


Aucun commentaire:

Enregistrer un commentaire