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
지원 안된다고 써있군요...
댓글 달기