日期:2014-05-18  浏览次数:20708 次

CachedRowSet 更新结果集????(在线等)
我用的是jdk1.5.0_06,我现在做的是:new   一个CachedRowSet实例,放入CachedRowSet   中一个结果集rs,然后用CachedRowSet   的acceptChanges(con)方法修改数据库,但是现在是没有改变数据库,不知道为什么?

代码如下:

CachedRowSet   crs   =   new   CachedRowSetImpl();//一个实例
crs.setType(ResultSet.TYPE_SCROLL_INSENSITIVE);
crs.setConcurrency(ResultSet.CONCUR_UPDATABLE);

          crs.populate(rs);//把结果集放入

          crs.acceptChanges(con);//连接,并更新数据库
问题时现在没有更改数据库,为什么?请高手帮忙


------解决方案--------------------
rs的游标都没移动,你能更新?
------解决方案--------------------
rs的游标都没移动 //用rs.next()来移动游标,光传个rs进去怎么更新
------解决方案--------------------
System.out.println("演示更新CacheRowSet数据");
crs.first();
crs.updateString(3,"test");
// commit changes to cached portion of rowset
crs.updateRow();
System.out.println(crs.getRow() + " - " + crs.getString("programname"));

try
{
System.out.println("点击任何键修改该记录值."); 
String input = in.readLine();
}
catch (IOException e)
{
e.printStackTrace();
}


// force persistence of changes to database
crs.acceptChanges();