sqlite update가 자꾸 에러가 나요

sitan81의 이미지

PreparedStatement prep = conn.prepareStatement(
				"update kySong set col1 = ?, " +
				"col2 = ?, " +
				"col3 = ?, " +
				"col4  = ?, " +
				"col5  = ? " +
				"where col1 = 1322;");
			prep.setInt(1, Integer.parseInt(arrStr[0]));
			prep.setString(2, arrStr[1]);
			prep.setString(3, arrStr[2]);
			prep.setString(4, arrStr[3]);
			prep.setString(5, arrStr[4]);
			prep.addBatch();
 
conn.setAutoCommit(false);
		prep.executeBatch();
		conn.setAutoCommit(true);


sqlite에서 update를 할려고 하는데
아래와 같은 에러가 발생합니다.

Exception in thread "main" java.sql.SQLException: cannot commit transaction - SQL statements in progress
at org.sqlite.DB.throwex(DB.java:288)
at org.sqlite.DB.ensureAutoCommit(DB.java:336)
at org.sqlite.DB.execute(DB.java:264)
at org.sqlite.DB.executeUpdate(DB.java:281)
at org.sqlite.PrepStmt.executeUpdate(PrepStmt.java:77)
at com.XmlParser.Test2.main(Test2.java:41)

도대체 어디를 손봐야 하는지 모르겠습니다.
도와주세요!

yhsuk의 이미지

혹시 select쿼리로 open한 statement가 있으면 닫아야 합니다.
http://sqlite.1065341.n5.nabble.com/cannot-commit-transaction-SQL-statements-in-progress-td43914.html

링크 뒤가 짤리네요. ements-in-progress-td43914.html 입니다.

Signature :) - "여유를 갖고 행동하되 게을러지지 말자"