2012-04-19 2 views
1

데이터베이스에서 float 값을 얻으려고합니다.Java (ME) 데이터 유형이 일치하지 않는 SQLlite 악순환

다음은 null이 1을 반환하는지 확인합니다. 직접 떠 얻는다 다음, 다른 한편으로

month = row.getString(39) != null ? row.getFloat(39): 1; 

을 (부동 소수점 DB뿐만 오류 경우는 null 경우 작동합니다). (작품 널 플로트 DB뿐만 오류 경우 경우)

나는 DB에서 float를 구할 이동 및 null의 경우, 디폴트 값을 반환하는 방법
float test = row.getFloat(39); 

. diff 형식 일 때 오류가 발생하므로 어느 형식 으로든 가져올 수 없습니다.

SQL 문을 변경하지 않는 것이 좋습니다. 45 개의 변수가 있기 때문에 너무 크고 지저분하고 다루기 힘들 것입니다. 내가 havent 그것을 들여다 보았다,하지만 나는 어떤 종류의 일을 할 수있는 SQL을 가정 IFNULL(field,default). 아니면 아마도 이것이 최선의 방법 일 것입니다 ...하지만 이드는 아마도 AS field을 필요로합니다.

답변

2

다음은 모든 데이터 유형에서 작동하는 것으로 보입니다. getObject를 사용하여 null인지 확인. 부동 소수점의 경우에도 != null은 유효하지 않은 비교가됩니다.

month = row.getObject(39) != null ? row.getFloat(39): 1; 
관련 문제