2013-07-18 3 views
1

SQL 라이브러리가있는 Java를 사용하여 Oracle 데이터베이스에 업로드 한 스프레드 시트 작업. 나는 평균 점수에서 표준 편차만큼 떨어진 학생 점수를 계산하고, "getFloat"메서드를 사용하여 열에서 값을 수레로 검색했습니다. 이 작업을 수행 한 이유는 나중에 해당 값을 사용하여 if 문에서 비교할 수 있기 때문입니다. 그러나 컴파일 할 때 데이터 형식 불일치 오류가 발생합니다. 오류는 다음과 같은 라인에서 발생합니다JDBC에서 열 값을 Float으로 변환

float AllScores = selectScore.getFloat("SCORES"); 
float totalAvg = avgScore.getFloat("SCORE_AVG"); 
float ScoreStDev = sdev.getFloat("standardDeviation"); 

나는 내가 "선택"문을 보유하고 문자열로 선언 된 변수에서 부동 소수점 값을 얻기 위해 노력하고 있기 때문에 이러한 오류를 받고 있어요 것을 알고있다. 내 질문은, 어떻게 나중에 if 문에서 비교하기 위해 열에서 float 값을 검색 할 수 있습니다. 내 코드 중 일부는 다음과 같습니다.

String selectScore = "SELECT SCORES FROM STUDENTS"; 
st.executeQuery(selectScore); 

String avgScore = "SELECT Avg(SCORES) AS SCORE_AVG FROM STUDENTS"; 
rs = st.executeQuery(avgScore); 
String sdev = "SELECT STDEV(SCORES) AS standardDeviation FROM STUDENTS"; 
st.executeQuery(sdev); 

int one = 1; 


      //Loop score column 
      while(rs.next()){ 

      //Convert values into float values 
      float AllScores = selectScore.getFloat("SCORES"); 
      float totalAvg = avgScore.getFloat("SCORE_AVG"); 
      float ScoreStDev = sdev.getFloat("standardDeviation"); 

      //Calculate 1 standard deviation away from mean 
      float theSD = AllScores - (one * ScoreStDev); 
      } 

       if(SCORE > ScoreStDev){ 
       //Code here 

      } 

아무 도움이됩니다.

답변

0

executeQuery()에서 가져온 ResultSet 대신 쿼리 문자열에서 getFloat을 시도했기 때문입니다. 예를 들어

String selectScore = "SELECT SCORES FROM STUDENTS"; 
ResultSet rs = st.executeQuery(selectScore); 

.... 

float AllScores = rs.getFloat("SCORES"); 
영업 이익은 또한 두 개의 서로 다른 문 객체와 그의 두 쿼리를 실행하거나 처리
+0

당신의 응답을 여러분 모두 감사합니다! 이 지금 작동합니다. –

+0

의 순서를 변경해야 – user2554121

관련 문제