程序如下:
public class TransForm {
    public static void main(String[] args) {
        Connection con = DataBasePool.getConnection();        String tableName = args[0];        //int i = new Integer(args[1]).intValue();
        // ResultSetMetaData rsmd;
        try {
            Statement st = con.createStatement(
                                   ResultSet.TYPE_SCROLL_INSENSITIVE,
                                   ResultSet.CONCUR_UPDATABLE);
            String sql = "select field_name from " + tableName;
            System.out.println(sql);            ResultSet rs = st.executeQuery(sql);            while (rs.next()) {
                if (null != rs.getString(1)) {
                    System.out.println(rs.getString(1));
                    rs.updateString(1, rs.getString(1).toLowerCase());
                    rs.updateRow();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}程序目的,将数据库中字段转化为小写,更新到数据库中,程序一执行到rs.updateRow()就出错,不知道是什么问题,请各位给参考一下,谢谢:
错误提示:
java.lang.StringIndexOutOfBoundsException: String index out of range: 43 at java.lang.String.substring(String.java:1477) at oracle.jdbc.driver.ResultSetUtil.removeForUpdate(ResultSetUtil.java:162) at oracle.jdbc.driver.OracleStatement.getRevisedSql(OracleStatement.java:6564) at oracle.jdbc.driver.UpdatableResultSet.prepare_updateRow_statement(UpdatableResultSet.java:2109) at oracle.jdbc.driver.UpdatableResultSet.updateRow(UpdatableResultSet.java:1384) at org.apache.commons.dbcp.DelegatingResultSet.updateRow(DelegatingResultSet.java:305)Main_Record_No at com.power.common.TransForm.main(TransForm.java:29)