こんにちは、データベースのテーブルを更新しようとしていますが、列が存在しないというエラーが表示されます。テーブルは の前に正常に作成されました。情報を取得して操作することはできますが、編集アクティビティで更新することはできません。コードの一部を次に示します。
//job_cost table------------------------------------------------
public static final String KEY_JOBCOSTID = "jobcostID";
public static final String KEY_JOBCOSTHOURSTREMA = "jobcostHourStrema";
public static final String KEY_JOBCOSTGROUNDTYPE = "jobcostGroundType";
public static final String KEY_JOBCOSTPETROL = "jobcostPetrol";
public static final String KEY_JOBCOSTOIL = "jobcostOil";
public static final String KEY_JOBCOSTMAINTENANCE = "jobcostMaintenance";
public static final String KEY_JOBCOSTOTHEREXPENSES = "jobcostOtherExpenses";
public static final String KEY_JOBCOSTFINAL = "jobcostFinal";
db.execSQL("CREATE TABLE " + DATABASE_JOBCOSTTABLE + "("
+ KEY_JOBCOSTID + " INTEGER PRIMARY KEY autoincrement , "
+ KEY_JOBCOSTHOURSTREMA + " DOUBLE , "
+ KEY_JOBCOSTGROUNDTYPE + " TEXT , "
+ KEY_JOBCOSTPETROL + " DOUBLE , "
+ KEY_JOBCOSTOIL + " DOUBLE , "
+ KEY_JOBCOSTMAINTENANCE + " DOUBLE , "
+ KEY_JOBCOSTFINAL + " DOUBLE , "
+ KEY_JOBCOSTOTHEREXPENSES + " DOUBLE )");
}
public boolean updateJobCost(Cost costTemp,String jobForEdit){
ContentValues cv = new ContentValues();
cv.put( "KEY_JOBCOSTHOURSTREMA" , costTemp.getHourStrema());
cv.put( "KEY_JOBCOSTGROUNDTYPE" , costTemp.getGroundType());
cv.put( "KEY_JOBCOSTPETROL" , costTemp.getPetrol());
cv.put( "KEY_JOBCOSTOIL" , costTemp.getOil());
cv.put( "KEY_JOBCOSTMAINTENANCE" , costTemp.getMaintenance());
cv.put( "KEY_JOBCOSTOTHEREXPENSES" , costTemp.getOtherExpenses());
cv.put( "KEY_JOBCOSTFINAL" , costTemp.getCost());
//cv.put(key, value)
ourDatabase.updateWithOnConflict(DATABASE_JOBCOSTTABLE, cv, KEY_JOBCOSTID + "=" + jobForEdit, null, DATABASE_VERSION);
return false;
}