java hsqldb ResultSet을 사용해 업데이트할 때 생기는 에러
글쓴이: Together / 작성시간: 월, 2006/02/20 - 10:28오후
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class TestProg { public static void main(String[] args) { try{ Connection conn = null; ResultSet rset = null; Statement stmt = null; String makeTableStr = null; String insertRowStr = null; String selectAllStr = null; String tempStr = null; Class.forName("org.hsqldb.jdbcDriver"); conn = DriverManager.getConnection("jdbc:hsqldb:" + "dbtest", "sa", ""); stmt = conn.createStatement(); makeTableStr = "Create Table tbl (id int identity, name char(10), number int)"; stmt.executeUpdate(makeTableStr); for (int i = 0; i < 5; i++){ tempStr = "str" + i; insertRowStr = "insert into tbl(name, number) values('" + tempStr + "',"+ i +")"; stmt.executeUpdate(insertRowStr); } stmt.execute("shutdown"); stmt.close(); conn.close(); stmt = null; conn = null; conn = DriverManager.getConnection("jdbc:hsqldb:" + "dbtest", "sa", ""); stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); selectAllStr = "select * from tbl"; rset = stmt.executeQuery(selectAllStr); rset.next(); //rset.updateInt(3, 500); // Error: This function is not supported //rset.updateRow(); // Error: This function is not supported stmt.execute("shutdown"); stmt.close(); conn.close(); } catch(Exception ex){ System.out.println(ex.getMessage()); } } }
Hsqldb(자바로 쓰여진 데이타 베이스, SharpHsqldb라고 C# 으로 포팅된 것도 있슴)
작업 환경
Hsqldb hsqldb_1_8_0_2
j2sdk-1_4_2_10-windows-i586-p
eclipse-SDK-3.1.2-win32
jdbc와 ResultSet을 사용해서 hsqldb의 레코드를 업데이트 하려고 합니다.
근데 위 코드에서 주석처리 되 있는 아래 코드에서 에러가 납니다.
rset.updateInt(3, 500); // Error: This function is not supported
rset.updateRow(); // Error: This function is not supported
hsqldb API에는 이 funtion들이 있습니다.
왜 이런 에러가 나는지 아시는 분 설명 좀 해주시면 감사하겠습니다.
Please, Thanks.
Forums:
[url]http://www.hsqldb.org/doc/src/org/h
http://www.hsqldb.org/doc/src/org/hsqldb/jdbc/jdbcResultSet.html
지원 안된다고 써있군요...
댓글 달기