2012-06-14 1 views
0

웹 페이지에서 데이터베이스 테이블의 내용을 표시하는 매우 간단한 응용 프로그램을 만들고 있으므로 ResultSet을 반복하고 각 셀의 내용을 사이에 고정하고 싶습니다. <td> 태그 등이 ..명시 적으로 ResultSet에서 데이터를 가져 오는 방법

문제는 테이블이 상당히 크다고 할 수 있습니다 내가 명시 적 에는 getString을 사용하지 않는다는 것입니다(), 의 getInt(), 의 getXXX() 방법. 대신, ResultSetMetaData 메소드 getColumnType()을보다 일반적인 ResultSet getData(<columName>, <type>) 메소드의 매개 변수로 사용하는 것이 좋겠지 만 보이지는 않습니다.

이것이 가능합니까? 나는 이것에 대해 잘못된 방향으로 가고 있는가?

답변

1

getObject() 메소드가 있지만 특수한 포맷팅이 필요없는 모든 문자열 및 정수가 아니라면 결과 객체를 캐스팅해야합니다. 어떤 경우에는 널 (null)을 검사하고 유효하면 toString()을 호출합니다.

http://docs.oracle.com/javase/1.4.2/docs/api/java/sql/ResultSet.html#getObject(int)에서 생성자으로 getObject()를 취하는 래퍼 클래스를 생성하고 SQL 유형 각각을 표준 포맷으로 getDataString() 메소드를 제공

+0

imbric. –

+0

데이터는 문자열과 int이므로 작동합니다. 고맙습니다. 프로그래밍 방식으로 열 유형을 사용할 수는 있지만이 방법으로 검색하는 데 실제로 사용할 수는 없으므로 이상하게 보입니다. – imbric

+0

@imbric 글쎄, 당신은 항상 getString()을 호출하고 문자열 표현을 얻을 수 있습니다. Java와 같이 정적으로 유형이 지정된 언어에서는 컴파일 할 때 어떤 유형인지 알지 못하는 경우 값으로 할 수있는 일이 많지 않습니다. 조만간, 누군가가 그것을 던져서 NumberFormatter 나 뭔가를 사용할 수있게하거나 다른 방법으로 toString()을 호출해야합니다. –