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