I am using a table to get data from database ,but my table holds data column wise.I want to retrieve data column wise from the table using resultset.but each time i am getting "Column index out of range error." This is my code which i am using to retrieve data from the table
This is my select statment
String consultantRatio = " select count(distinct CANDYS.candidateId) from "
+" (Select C.candidateID,J.joborderID from db_candidatenote C, db_jobordernote J "
+" where C.noteid=J.noteid and C.action like 'Engaged' "
+" and C.dateadded between "+ "\""+ new java.sql.Timestamp(startDate.getTime())+ "\" and "+ "\""+ new java.sql.Timestamp(endDate.getTime())+ "\" ) N,"
+" (Select distinct Note.candidateId, JNote.jobOrderID "
+" from db_candidatenote Note,db_jobordernote JNote, corporateuser User where "
+" Note.noteid=JNote.noteid "
+" and Note.commentingPersonID = User.userid "
+" and User.name= "+"\""+consultantNameList.get(i)+"\""
+" and Note.action='Sourcing') CANDYS "
+" where N.candidateID= CANDYS.candidateId "
+" and N.joborderid=CANDYS.jobOrderID "
+" union"
+" select count(distinct CANDYS.candidateId) from "
+" (Select C.candidateID,J.joborderID from db_candidatenote C, db_jobordernote J "
+" where C.noteid=J.noteid and C.action like 'Qualification' "
+" and C.dateadded between "+ "\""+ new java.sql.Timestamp(startDate.getTime())+ "\" and "+ "\""+ new java.sql.Timestamp(endDate.getTime())+ "\" ) N,"
+" (Select distinct Note.candidateId, JNote.jobOrderID "
+" from db_candidatenote Note,db_jobordernote JNote, corporateuser User where "
+" Note.noteid=JNote.noteid "
+" and Note.commentingPersonID = User.userid "
+" and User.name= "+"\""+consultantNameList.get(i)+"\""
+" and Note.action='Sourcing') CANDYS "
+" where N.candidateID= CANDYS.candidateId "
+" and N.joborderid=CANDYS.jobOrderID "
+" union "
+" select count(distinct CANDYS.candidateId) from "
+" (Select C.candidateID,J.joborderID from db_candidatenote C, db_jobordernote J "
+" where C.noteid=J.noteid and C.action like 'Internal Submission' "
+" and C.dateadded between "+ "\""+ new java.sql.Timestamp(startDate.getTime())+ "\" and "+ "\""+ new java.sql.Timestamp(endDate.getTime())+ "\" ) N,"
+" (Select distinct Note.candidateId, JNote.jobOrderID "
+" from db_candidatenote Note,db_jobordernote JNote, corporateuser User where "
+" Note.noteid=JNote.noteid "
+" and Note.commentingPersonID = User.userid "
+" and User.name= "+"\""+consultantNameList.get(i)+"\""
+" and Note.action='Sourcing') CANDYS "
+" where N.candidateID= CANDYS.candidateId "
+" and N.joborderid=CANDYS.jobOrderID "
+" union "
+" select count(distinct CANDYS.candidateId) from sendout S,"
+" (Select distinct Note.candidateId, JNote.jobOrderID "
+" from db_candidatenote Note,db_jobordernote JNote, corporateuser User where "
+" Note.noteid=JNote.noteid "
+" and Note.commentingPersonID = User.userid "
+" and User.name= "+"\""+consultantNameList.get(i)+"\""
+" and Note.action='Sourcing' ) CANDYS "
+" where S.candidateID= CANDYS.candidateId "
+" and S.joborderid=CANDYS.jobOrderID "
+" and S.dateadded between "+ "\""+ new java.sql.Timestamp(startDate.getTime())+ "\" and "+ "\""+ new java.sql.Timestamp(endDate.getTime())+ "\" "
+" union"
+" select count(distinct CANDYS.candidateId) from "
+" (Select C.candidateID,J.joborderID from db_candidatenote C, db_jobordernote J "
+" where C.noteid=J.noteid and C.action like '%Interview%' "
+" and C.dateadded between "+ "\""+ new java.sql.Timestamp(startDate.getTime())+ "\" and "+ "\""+ new java.sql.Timestamp(endDate.getTime())+ "\" ) N,"
+" (Select distinct Note.candidateId, JNote.jobOrderID "
+" from db_candidatenote Note,db_jobordernote JNote, corporateuser User where "
+" Note.noteid=JNote.noteid "
+" and Note.commentingPersonID = User.userid "
+" and User.name= "+"\""+consultantNameList.get(i)+"\""
+" and Note.action='Sourcing') CANDYS "
+" where N.candidateID= CANDYS.candidateId "
+" and N.joborderid=CANDYS.jobOrderID "
+" union "
+" select count(distinct CANDYS.candidateId ) from placement P,(Select distinct Note.candidateId, JNote.jobOrderID "
+" from db_candidatenote Note,db_jobordernote JNote, corporateuser User where "
+" Note.noteid=JNote.noteid "
+" and Note.commentingPersonID = User.userid "
+" and User.name= "+"\""+consultantNameList.get(i)+"\""
+" and Note.action='Sourcing') CANDYS "
+" where P.candidateID= CANDYS.candidateId "
+" and P.joborderid=CANDYS.jobOrderID "
+" and P.dateadded between "+ "\""+ new java.sql.Timestamp(startDate.getTime())+ "\" and "+ "\""+ new java.sql.Timestamp(endDate.getTime())+ "\" " ;
while (rsServeResource1.next()) {
// these variables will be divided by actual milestone numbers like source to engage / engage etc within that time range ..
if(rsServeResource1.getInt(1)!=0){
sourceToEngage = rsServeResource1.getInt(1);
}if(rsServeResource1.getInt(2)!=0){
sourceToQualification =rsServeResource1.getInt(2);
}if(rsServeResource1.getInt(3)!=0){
sourceToIs = rsServeResource1.getInt(3);
} if(rsServeResource1.getInt(4)!=0){
sourceToPresent =rsServeResource1.getInt(4);
} if(rsServeResource1.getInt(5)!=0){
sourceToInterview = rsServeResource1.getInt(5);
} if(rsServeResource1.getInt(6)!=0){
sourceToPlacament = rsServeResource1.getInt(6);
}
Each time i am running the code .Its giving me the following exception.
Column Index out of range, 2 > 1.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
at com.mysql.jdbc.ResultSetImpl.checkColumnBounds(ResultSetImpl.java:830)
at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2714)
at com.msh.servlet.MileStoneMonthlyJob.execute(MileStoneMonthlyJob.java:530)
at org.quartz.core.JobRunShell.run(JobRunShell.java:223)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
Done
So where the problem lies i can not make it work.Somebody please help .