2012-05-15 5 views
0

이 질문은 this question의 확장입니다. MetaData를 얻을 수 있다는 것이 좋습니다. 문서를 읽는 동안이 데이터는 SELECT 유형 요청에 대한 것임을 이해했습니다. 그리고 더 많은 정보가 필요합니다. 업데이트 나 선택 등입니까? SQL 요청을 구문 분석하지 않고도이 정보를 얻을 수 있습니까? executeQuery() 또는 getMetaData()를 사용하여 UPDATE 또는 DELETE 요청을하면 어떻게됩니까?SQL 요청 유형

+0

감사합니다. 그것이 내가 필요한 것입니다. – itun

답변

1

메타 데이터는 ResultSetDatabase 수준에 있지만 쿼리의 UpdateDelete 유형에 사용할 수 있습니다. Statement.execute(String sql)은 쿼리가 ResultSet(s) 또는 영향을받는 정수 레코드를 반환하는지 식별하는 데 사용할 수 있습니다.

문서 설명 :
execute 메소드는 SQL 문을 실행하고 첫 번째 결과의 형식을 나타냅니다. 그런 다음 getResultSet 또는 getUpdateCount 메서드를 사용하여 결과를 검색하고 getMoreResults을 사용하여 후속 결과로 이동해야합니다.

이 방법은 반환이 true if the first result is a ResultSet object; false if it is an update count or there are no results

더 사용되는 쿼리 존재가 Update 또는 Delete 경우를 알 수있는 직접적인 방법. 명시 적으로 구문 분석하고 식별해야합니다.

+0

ResultSet 및 데이터베이스 수준 메타 데이터 외에도 매개 변수 수준 메타 데이터 ['getParameterMetaData'] (http://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html#getParameterMetaData)) 해당 메타 데이터가 문제에도 도움이되지는 않지만 :) –