2011-08-13 6 views
4

작은 Java 응용 프로그램의 내장 데이터베이스에 대한 래퍼로 SQLiteJDBC를 사용하고 있습니다. ,SQLite 예외 : Insert 문이 Statement를 반환하지 않습니다.

쿼리의 ResultSet

나는 나가 ResultSet을 반환하기위한 JDBC Statement.executeStatement이 (String) 메소드가보고되는 경우 궁금를 반환하지 않습니다 : 내가 INSERT 문을 실행할 때마다, 나는 다음과 같은 예외가 SQLite 드라이버는 INSERT 문이 아무 것도 반환하지 않는다는 것을 알고 있습니다. 아마도 SQLiteJDBC는 Statement가 요구하는 ResultSet을 반환해서는 안되기 때문에 오류가 발생합니다. 여기

예외를 생성하는 코드입니다 - 내가 설정을 확인했다 제대로 모든 자원을 닫습니다 :

statement = con.createStatement(); 
String sql = "INSERT INTO widgets (widget_age) VALUES (27)"; 
statement.executeStatement(sql); 

어떤 아이디어?!?

답변

14

결과를 변경하려고 할 때 executeStatement() 대신 executeUpdate()을 호출해야합니다.

심지어 어디 executeStatement()에 대한 참조를 찾을 수 없습니다

편집 할 수 있습니다. executeQuery()을 사용 했습니까?

0

Sqlite는 항상 쿼리를 실행하는 메시지를 반환합니다.

경고/오류가 발생하는 것은 정상적인 현상입니다. 반환 된 행이 없으므로 사용자가 정의한 경우 콜백에서 사용할 수 없습니다.

PD : 나는 당신이 executeQuery를 의미한다고 생각합니다.

관련 문제