关于通过结果集直接更新数据库的疑问
rs.updateString("姓名","李向阳"); //对结果集做更新操作。
rs.updateString("学号","一号"); //对结果集做更新操作。
rs.absolute(1);
rs.updateRow();
rs.updateString("学号","二号"); //对结果集做更新操作。
rs.absolute(2);
rs.updateRow();
rs.updateString("学号","四号"); //对结果集做更新操作。
rs.absolute(4);
rs.updateRow();
//插入记录操作开始:
rs.updateString("姓名","赵刚"); //对结果集做更新操作。
rs.updateString("学号","8888");
rs.updateInt(3,66);
rs.updateInt(4,77);
rs.updateInt(5,88);
rs.insertRow();
rs=sql.executeQuery("SELECT * FROM students"); //重新返回结果集
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我是一个新手,刚看完JSP教程,觉得看了之后有点疑问,从书上也没找到答案,想问问大家,这个过程是怎么更新的。
书上说调用rs.updateXXX方法对所有的行的例值进行更新操作, rs.updateString("姓名","李向阳"); 是不是对所有的行的姓名字段都更新为了李向阳? rs.updateString("学号","一号"); 是不是对学号字段都更新为了一号?那为什么用rs.absolute(1);rs.updateRow();这两句话只更新了第一行记录吧?前面为什么说是对所有行的例值都更新了呢?既然这个都更新了,那后面rs.updateString("学号","二号"); rs.absolute(2);rs.updateRow();这几句话不是又把所有的例值都更新了吗?不解,请指点一下,先谢谢了
------解决方案--------------------rs.updateString("学号","一号"); //指定要修改的字段.
rs.absolute(1); //指定修改的行数.
rs.updateRow(); //执行修改
rs.updateInt(5,88); //更新第5列的字段为88
rs.insertRow(); //执行更新
------解决方案--------------------