Hi guys so here is my problem, I need to be able to access the unique ID of a row that is created because I created a second table that will "Connected" through the IDs. However here is my issue, whenever I try calling this method, my app crashes.. I was hoping the community could help me out here. Many Thanks.
public void addExerciseToDatabase(Exercises exercises){
SQLiteDatabase db = myDBHelper.getWritableDatabase();
ContentValues values = new ContentValues();
ContentValues nuValues = new ContentValues();
values.put(myDBHelper.COLUMN_BODYPARTNAME, exercises.get_bodyPart());
values.put(myDBHelper.COLUMN_EXERCISENAME, exercises.get_exerciseName());
db.insert(myDBHelper.TABLE_EXERCISES, null, values);
//FOR THE NEW TABLE VALUES
int ID = getExerciseID(exercises.get_bodyPart(),exercises.get_exerciseName());
nuValues.put(myDBHelper.COLUMN_EXERCISENAME_ID, ID);
nuValues.put(myDBHelper.COLUMN_NUMSETS, exercises.get_numSets());
nuValues.put(myDBHelper.COLUMN_NUMWEIGHT, exercises.get_numWeight());
nuValues.put(myDBHelper.COLUMN_NUMREPS, exercises.get_numReps());
db.insert(myDBHelper.TABLE_EXERCISES_VALUE, null, nuValues);
db.close();
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
THIS method returns the EXERCISE ID, that corresponds to the exercise
passed and Bodypart passed
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
public int getExerciseID(String exercise, String bodyPart) {
SQLiteDatabase db = myDBHelper.getWritableDatabase();
String query = "SELECT" + myDBHelper.COLUMN_ID + "FROM " + myDBHelper.TABLE_EXERCISES + " WHERE " +
myDBHelper.COLUMN_BODYPARTNAME + " = " + bodyPart + " AND " +
myDBHelper.COLUMN_EXERCISENAME + " = " + exercise ;
Cursor c = db.rawQuery(query, null);
c.moveToFirst();
int exerciseID = Integer.parseInt(c.getString(0));
/*int exerciseID = c.getInt(c.getColumnIndex(myDBHelper.COLUMN_ID));*/
c.close();
db.close();
return exerciseID;
}
Aucun commentaire:
Enregistrer un commentaire