当我提交复制数据时,我发现以下错误是代码..
public String deleteExistingRecordWeekWise(String monthOrWeek) throws ApplicationException {
try {
setMonthAndArea();
String[] stringValues = selectedMonthAndYear.split("-");
int year=Integer.parseInt(stringValues[0]);
int month=Integer.parseInt(stringValues[1]);
String timePrd = null;
String wk = null;
if(null==timePeriod || timePeriod.isEmpty()){
timePeriod= new ArrayList <String>();
timePeriod.add("2");
}
if(null==weekWise || weekWise.isEmpty()){
weekWise= new ArrayList <String>();
weekWise.add("1");
}
if(Integer.parseInt(timePeriod.get(0))==2){
timePrd="W";
if(null==weekWiseSelection){
if(Integer.parseInt(weekWise.get(0))==1){
wk="W1";
}else if(Integer.parseInt(weekWise.get(0))==2){
wk="W2";
}else {
wk="W3";
}
}else{
wk=weekWiseSelection;
}
}
ReportsBO.deleteProjectStatusWeekWise(wk,month,year,selectedArea);
} catch (ApplicationException ex) {
addActionError(ex.getMessage());
fetchFields();
return ERROR;
}
if(null!=weekWiseSelection || !weekWiseSelection.equalsIgnoreCase("month")){
addActionMessage("Existing records are deleted and copied data from previous month.");
}else{
addActionMessage("Existing records are deleted and copied data from previous bi weekly.");
}
return SUCCESS;
和DAO班..
public void deleteProjectStatusWeekWise(String week,int month,int year,String area)抛出ApplicationException { int areaId = Integer.parseInt(area);
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
try {
int projId = jdbcTemplate.queryForInt(ProjectStatus.FETCH_PROJECT_STATUS_WEEKWISE,new Object[] {week,month,year,areaId});
jdbcTemplate.update(ProjectStatus.DELETE_PROJECT_DET_STATUS_MONTH,new Object[] {projId});
jdbcTemplate.update(ProjectStatus.DELETE_PROJECT_STATUS_WEEKWISE,new Object[] {week,month,year,areaId});
} catch (Exception e) {
LOG.error("Exception occurred in dashboard.performance.gmu.dao.ProjectStatusDAO.fetchProjectStatusTypeList(int)",e);
throw new ApplicationException("Failed to fetch project type list. Please contact System Administrator.");
}
}
此错误即将到来,任何人都可以帮助解决此问题。
}
答案 0 :(得分:0)
看起来它可能来自jdbcTemplate.queryForInt(...);
。如果预期结果至少有一行(或元素)但实际返回零行(或元素),则抛出EmptyResultDataAccessException。检查以确保数据库中确实存在projId
。