有关rs.updateXXXX() 的一个问题

sery 2003-12-10 12:59:34
mysql 数据库

test 表 两个字段 ID,username。

ID自增,username varchar 类型

Class.forName(org.gjt.mm.mysql.Driver);
Connection conn=DriverManager.getConnection(url,username,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

rs=stmt.executeQuery("select id,username from test");

rs.absolute(1);
rs.updateString("username",""测试"");
rs.updateRow();

rs.absolute(1);
System.out.println(rs.getString("username"););
System.out.println(rs.getInt("id"));

结果为“测试”“0”

我不是很清楚rs.updateXXXX()的实际过程,为什么修改了一个字段,则这条记录的其他column 的值就没有办法在同一个rs 中继续使用。

实际上数据库中,该条记录的所有column 数值依然存在。

还是我使用的访问有问题,请指教。。。
...全文
32 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sery 2003-12-10
  • 打赏
  • 举报
回复
对,重新打开,就不是了。但是我每updateXXX 一次,就要重新打开一次rs 吗?

会不会太烦琐了了,有没有rs 的刷新命令?

而且我想知道的是updateXXX 出现这样的情况的原因是不是和我想象的一样
huiyang 2003-12-10
  • 打赏
  • 举报
回复
重新打开一下记录集?是不是就不是null了?
sery 2003-12-10
  • 打赏
  • 举报
回复
重新打开记录集,是不是太麻烦一点了?

我是想问问原理,是不是确实如我想象的一样,updateXXX 确实是只更新当前rs的指针所指向记录的指定字段,而把当前指针的其它字段都清为null ?

就好象我updateString("username","测试"),这时username 可以继续读到,可是该条记录的id 字段却读不到了。
pzl686 2003-12-10
  • 打赏
  • 举报
回复
没明白你的意思,所以帮不上忙
WebLearner 2003-12-10
  • 打赏
  • 举报
回复
mark
haley_hj 2003-12-10
  • 打赏
  • 举报
回复
重新打开记录集,或者刷新一下。
sery 2003-12-10
  • 打赏
  • 举报
回复
up
色老虫 2003-12-10
  • 打赏
  • 举报
回复
路过,学习

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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