使用jtds1.2+tomcat5.5.16+sql server2000,数据库连接使用的datasource没有问题,查询也没有问题,但是使用updateInt时就报ResultSet is read only的异常,代码如下:
Statement stmtbh = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rsbh = stmtbh.executeQuery("select * from docxlh where xlhid = '" + djbs + "'");
if(rsbh.next()){
rsbh.updateInt("xlhvalue", oldvalue + 1);
rsbh.updateRow();
}else{
rsbh.moveToInsertRow();
rsbh.updateString("xlhid", djbs);
rsbh.updateInt("xlhvalue",1);
rsbh.insertRow();
}我看资料只要在createStatement时设置ResultSet.CONCUR_UPDATABLE就可以了,不知道我哪写的有问题?劳驾各位达人指点迷津。
Statement stmtbh = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rsbh = stmtbh.executeQuery("select * from docxlh where xlhid = '" + djbs + "'");
if(rsbh.next()){
rsbh.updateInt("xlhvalue", oldvalue + 1);
rsbh.updateRow();
}else{
rsbh.moveToInsertRow();
rsbh.updateString("xlhid", djbs);
rsbh.updateInt("xlhvalue",1);
rsbh.insertRow();
}我看资料只要在createStatement时设置ResultSet.CONCUR_UPDATABLE就可以了,不知道我哪写的有问题?劳驾各位达人指点迷津。
解决方案 »
- 关于SSH的问题,求教大家
- java ->Ibatis 用Timestamp类型插入oracle中Date类型数据,为什么精度丢失?
- JDBC Driver class not found: com.microsoft.sqlserver.jdbc.SQLServerDriver
- 怎么获取MSN的联系人
- 请问jbuilder开发jsp的时候怎么把某页设成首页〉?
- 如何让文本框中输入的值居中?
- 关于 jsp 的 url 转义
- 求jspsmart上传附件到ORACLE代码!谢谢.
- 为什么用InterDev6.0做的TreeView不能在没装InterVev的机器上访问?
- springMVC整合Ibatis出错。。
- submit不能提交的问题
- jsp发送邮件的问题????着急啊
java 1.5API:executeQuery
ResultSet executeQuery(String sql)
throws SQLException执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。 参数:
sql - 要发送给数据库的 SQL 语句,通常为静态 SQL SELECT 语句
返回:
包含给定查询所生成数据的 ResultSet 对象;永远不能为 null
抛出:
SQLException - 如果发生数据库访问错误或者给定 SQL 语句生成单个 ResultSet 对象之外的任何其他内容--------------------------------------------------------------------------------executeUpdate
int executeUpdate(String sql)
throws SQLException执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。 参数:
sql - SQL INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句
返回:
INSERT、UPDATE 或 DELETE 语句的行计数;或者 0,表示不返回任何内容的 SQL 语句
抛出:
SQLException - 如果发生数据库访问错误或者给定的 SQL 语句生成 ResultSet 对象
rsbh.updateInt("xlhvalue", oldvalue + 1);
rsbh.updateRow();
}else{
rsbh.moveToInsertRow();
rsbh.updateString("xlhid", djbs);
rsbh.updateInt("xlhvalue",1);
rsbh.insertRow();
}
那你这段代码不是在写数据库吗?
如果你用的只是rsbh = stmtbh.executeQuery("select * from docxlh where xlhid = '" + djbs + "'");
这个只能对数据库进行读操作,返回的也是记录集。应该用executeUpdate()才可以写入,返回的是操作完成所影响的记录条数。
TYPE_SCROLL_INSENSITIVE,不支持ResultSet直接更新的。