Jsp中默认得到的resultset是只能单向移动,只读的。有时候这点很不方便。下面的语句用来构造可读写,可前后移动游标的ResultSet:
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
// rs will be scrollable, will not show changes made by others,
// and will be updatable
使用方法分两种情况:
1。修改当前记录:
rs.updateString("图片名称","第一个图");
rs.updateRow();//提交修改
2。新增记录:
rs.moveToInsertRow();
rs.updateString(1,"第一个字段值");
rs.updateString(2,"第二个字段值");
...
rs.insterRow();
rs.moveToCurrentRow();
提供几个有用的函数:
boolean absolute(int row):直接定位到记录集行;
int getRow():得到当前行;
void beforeFirst():移动游标到第一行之前;
void afterLast():移动游标到最后行之后;
void first():移动游标到第一行;
void last():移动游标到最后行;
boolean isBeforeFirst()...
void updateString(String name,String value):修改字段值;
void updateBinaryStream(String name,,java.io.inputStream x,int length):对于文件字段使用流来修改。
还有很多函数以及具体细节可以参考JDK文档。
以上操作在Tomcat5.0+Sqlserver2000 Sp4上面测试通过。其他数据库没有测试,请测试的朋友回帖。谢谢!