public static void main(String[] args){
Connection conn=null;
Statement stat=null;
ResultSet res=null;

conn=TS.getConnection();
try {
stat=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
res=stat.executeQuery("select * from emp where ename='yy'");
res.updateString("ename","FORD");
res.updateRow();
} catch (SQLException e) {
e.printStackTrace();
}finally{
TS.closeConn(res, stat, conn);
}
}

解决方案 »

  1.   

    如题,提示无法对只读结果集进行updateString
    但是我设置ResultSet的属性为update了,弄不明白出什么事了
    可以显示出数据,但是就是不能更新,求解
      

  2.   

    呵呵,你忘了吧
    在更新前要加res.absolute(int 光标在ResultSet的行数);
     再执行    res.updateString("name","xxx");
              res.updateRow();就行了
      

  3.   


    不是这个原因,与absolute没联系
      

  4.   


    驱动用的是jdbc里oracle方式,驱动应该没问题,查询和插入都可以
      

  5.   

    ResultSet是一个结果集,即使只有一条数据,不用absolute指定它也不会找到的~~~~你把你的代码加上res.absolute(1)试试,我试过了,可以的!
      

  6.   


    解决了,必须显示指定行数,还有就是select * from里不能用* ,只能列出列名