通过jdbc2访问db2怎样使用updatable Resultset?

azurereverie 2003-10-21 10:22:25
我用的db2 7.0,使用数据库自带的jdbc2的驱动,Resultset的诸如getString等方法都可以用,想在java中使用Resultset的updateString一类方法,但是运行时却报错:该版本的驱动程序不支持updatable Resultset,请问是不是还需要什么配置,或者需要更高级的驱动?
...全文
39 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
db2boy 2003-10-29
  • 打赏
  • 举报
回复
ado只不过给你提供了一个方便的手段。如果觉得官方的jdbc麻烦,可以去找open source的东西。
db2boy 2003-10-29
  • 打赏
  • 举报
回复
你用什么,最终的接口也都是sql
db2boy 2003-10-28
  • 打赏
  • 举报
回复
修改数据不用sql用什么,你的批量修改是什么意思?一条语句改多行数据吗,你直接执行update语句不就行了。

Statement updStmt = con.createStatement();
int numRows = updStmt.executeUpdate
("更新语句");
azurereverie 2003-10-28
  • 打赏
  • 举报
回复
你不会只用过sql修改数据吧?

因为我以前用ADO的时候,能够用recordset来修改记录集,这样做有时候比用sql来更新强的多。比如传给我一个字段名和字段值的二维数组,我可以用一个for循环就完成对多条记录的更新或新增,字段值的类型由生成数组的人确保与数据库统一,最大的好处是代码简洁易于维护。

假如用这个二维数组来生成sql,你就会在类型的问题上煞费苦心,比如字段值为字符串的加引号,数值型的不加引号,如果由于更新的记录数过多而导致最后生成的sql太长不能一次执行,还得拆分一下,我就曾遇过这类情况。

如果ResultSet的update等方法可以用就达到同样效果了,不过jdbc可用的方法太少了,在jdk文档里提到的很多方法不能用,还有如first(),last()等,想来好像就一个next()来单向遍历记录集,有点上当的感觉!
azurereverie 2003-10-27
  • 打赏
  • 举报
回复
你说的那是用sql修改数据库,除此之外就没有其他方法吗?
如果批量修改,岂不是要写一大扒拉sql?
db2boy 2003-10-23
  • 打赏
  • 举报
回复
这个跟钱没有关系
jefrry 2003-10-22
  • 打赏
  • 举报
回复
我用的是8.1的从网上down的,也不可以,是不是因为没掏钱的缘故?
db2boy 2003-10-22
  • 打赏
  • 举报
回复
这样试试,能修改。
PreparedStatement pUpd = con.prepareStatement
("UPDATE TEMPL " +
" SET SALARY =?"+
" WHERE EMPNO =?");
pUpd.setString(1,argv[1]);
pUpd.setString(2,argv[2]);
int numRows = pUpd.executeUpdate();

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧