当前位置: 技术问答>java相关
为何不能用JDBC中updateXXX方法
来源: 互联网 发布时间:2015-09-14
本文导语: 我在jsp中用updateXXX方法时,总是抛出javax.servlet.ServletException: ResultSet not updatable异常,可是我明明是设的CONCUR_UPDATABLE属性,按jdbc文档是可以更新的。如果我用insert into tablename(...) values(...)语句是可以插入数据的。...
我在jsp中用updateXXX方法时,总是抛出javax.servlet.ServletException: ResultSet not updatable异常,可是我明明是设的CONCUR_UPDATABLE属性,按jdbc文档是可以更新的。如果我用insert into tablename(...) values(...)语句是可以插入数据的。我的配置为:jdk1.4+mysql+tomcat4.0.代码如下:
String szDriver="org.gjt.mm.mysql.Driver";
String szConn="jdbc:mysql://localhost:3306/waptw_v2";
Class.forName(szDriver);
Connection conn= DriverManager.getConnection(szConn,"mysql","mysql");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from table1";
ResultSet rs = stmt.executeQuery(sql);
rs.moveToInsertRow();
rs.updateXXX(1,XXX);
rs.updateXXX(2,XXX);
...
rs.insertRow();
String szDriver="org.gjt.mm.mysql.Driver";
String szConn="jdbc:mysql://localhost:3306/waptw_v2";
Class.forName(szDriver);
Connection conn= DriverManager.getConnection(szConn,"mysql","mysql");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from table1";
ResultSet rs = stmt.executeQuery(sql);
rs.moveToInsertRow();
rs.updateXXX(1,XXX);
rs.updateXXX(2,XXX);
...
rs.insertRow();
|
可能是mysql的driver不支持。
|
这个可以这样,我以前遇见过
rs.moveToInsertRow();
rs.updateXXX(1,XXX);
rs.updateXXX(2,XXX);
...
rs.insertRow();
rs.moveToCurrentRow();(最后一句加上)
rs.moveToInsertRow();
rs.updateXXX(1,XXX);
rs.updateXXX(2,XXX);
...
rs.insertRow();
rs.moveToCurrentRow();(最后一句加上)